[commit: haddock] ghc-7.6: Add test case for "spurious superclass constraints bug" (0007a5a)

Simon Hengel <[email protected]>
Newsgroups gmane.comp.lang.haskell.cvs.ghc
Message-ID <[email protected]>
Repository : ssh://darcs.haskell.org//srv/darcs/haddock

On branch  : ghc-7.6

http://hackage.haskell.org/trac/ghc/changeset/0007a5adc2460ec3bca4b86eda670a93bf91c3c3

>---------------------------------------------------------------

commit 0007a5adc2460ec3bca4b86eda670a93bf91c3c3
Author: Simon Hengel <[email protected]>
Date:   Mon Oct 15 20:03:43 2012 +0200

    Add test case for "spurious superclass constraints bug"

>---------------------------------------------------------------

 html-test/ref/SpuriousSuperclassConstraints.html   |  128 ++++++++++++++++++++
 ...tml => mini_SpuriousSuperclassConstraints.html} |    8 +-
 html-test/tests/SpuriousSuperclassConstraints.hs   |   30 +++++
 3 files changed, 162 insertions(+), 4 deletions(-)

diff --git a/html-test/ref/SpuriousSuperclassConstraints.html b/html-test/ref/SpuriousSuperclassConstraints.html
new file mode 100644
index 0000000..26b30d2
--- /dev/null
+++ b/html-test/ref/SpuriousSuperclassConstraints.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+><head
+  ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
+     /><title
+    >SpuriousSuperclassConstraints</title
+    ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
+     /><script src="haddock-util.js" type="text/javascript"
+    ></script
+    ><script type="text/javascript"
+    >//<![CDATA[
+window.onload = function () {pageLoad();setSynopsis("mini_SpuriousSuperclassConstraints.html");};
+//]]>
+</script
+    ></head
+  ><body
+  ><div id="package-header"
+    ><ul class="links" id="page-menu"
+      ><li
+	><a href=""
+	  >Contents</a
+	  ></li
+	><li
+	><a href=""
+	  >Index</a
+	  ></li
+	></ul
+      ><p class="caption empty"
+      >&nbsp;</p
+      ></div
+    ><div id="content"
+    ><div id="module-header"
+      ><table class="info"
+	><tr
+	  ><th
+	    >Safe Haskell</th
+	    ><td
+	    >None</td
+	    ></tr
+	  ></table
+	><p class="caption"
+	>SpuriousSuperclassConstraints</p
+	></div
+      ><div id="description"
+      ><p class="caption"
+	>Description</p
+	><div class="doc"
+	><p
+	  >What is tested here:
+</p
+	  ><p
+	  >Due to a change in GHC 7.6.1 we had a bug that superclass contraints were
+ included in the instances list.  Edward K. repported it here:
+</p
+	  ><p
+	  ><a href=""
+	    >http://www.haskell.org/pipermail/haskell-cafe/2012-September/103600.html</a
+	    >
+</p
+	  ><p
+	  >And here is the corresponding theard on glasgow-haskell-users:
+</p
+	  ><p
+	  ><a href=""
+	    >http://www.haskell.org/pipermail/glasgow-haskell-users/2012-September/022914.html</a
+	    >
+</p
+	  ><p
+	  >It has been fixed in:
+</p
+	  ><pre
+	  > 6ccf78e15a525282fef61bc4f58a279aa9c21771
+ Fix spurious superclass constraints bug.
+</pre
+	  ></div
+	></div
+      ><div id="interface"
+      ><h1
+	>Documentation</h1
+	><div class="top"
+	><p class="src"
+	  ><span class="keyword"
+	    >data</span
+	    >  <a name="t:SomeType" class="def"
+	    >SomeType</a
+	    > f a </p
+	  ><div class="subs instances"
+	  ><p id="control.i:SomeType" class="caption collapser" onclick="toggleSection('i:SomeType')"
+	    >Instances</p
+	    ><div id="section.i:SomeType" class="show"
+	    ><table
+	      ><tr
+		><td class="src"
+		  ><a href=""
+		    >Functor</a
+		    > (<a href=""
+		    >SomeType</a
+		    > f)</td
+		  ><td class="doc empty"
+		  >&nbsp;</td
+		  ></tr
+		><tr
+		><td class="src"
+		  ><a href=""
+		    >Applicative</a
+		    > f =&gt; <a href=""
+		    >Applicative</a
+		    > (<a href=""
+		    >SomeType</a
+		    > f)</td
+		  ><td class="doc empty"
+		  >&nbsp;</td
+		  ></tr
+		></table
+	      ></div
+	    ></div
+	  ></div
+	></div
+      ></div
+    ><div id="footer"
+    ><p
+      >Produced by <a href=""
+	>Haddock</a
+	> version 2.13.1</p
+      ></div
+    ></body
+  ></html
+>
diff --git a/html-test/ref/mini_AdvanceTypes.html b/html-test/ref/mini_SpuriousSuperclassConstraints.html
similarity index 87%
copy from html-test/ref/mini_AdvanceTypes.html
copy to html-test/ref/mini_SpuriousSuperclassConstraints.html
index 59d8dcb..22079a4 100644
--- a/html-test/ref/mini_AdvanceTypes.html
+++ b/html-test/ref/mini_SpuriousSuperclassConstraints.html
@@ -3,7 +3,7 @@
 ><head
   ><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
      /><title
-    >AdvanceTypes</title
+    >SpuriousSuperclassConstraints</title
     ><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean"
      /><script src="haddock-util.js" type="text/javascript"
     ></script
@@ -16,7 +16,7 @@ window.onload = function () {pageLoad();};
   ><body id="mini"
   ><div id="module-header"
     ><p class="caption"
-      >AdvanceTypes</p
+      >SpuriousSuperclassConstraints</p
       ></div
     ><div id="interface"
     ><div class="top"
@@ -24,8 +24,8 @@ window.onload = function () {pageLoad();};
 	><span class="keyword"
 	  >data</span
 	  > <a href="" target="main"
-	  >Pattern</a
-	  > </p
+	  >SomeType</a
+	  > f a</p
 	></div
       ></div
     ></body
diff --git a/html-test/tests/SpuriousSuperclassConstraints.hs b/html-test/tests/SpuriousSuperclassConstraints.hs
new file mode 100644
index 0000000..d9e43e1
--- /dev/null
+++ b/html-test/tests/SpuriousSuperclassConstraints.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE EmptyDataDecls, KindSignatures #-}
+-- |
+-- What is tested here:
+--
+-- Due to a change in GHC 7.6.1 we had a bug that superclass contraints were
+-- included in the instances list.  Edward K. repported it here:
+--
+--   <http://www.haskell.org/pipermail/haskell-cafe/2012-September/103600.html>
+--
+-- And here is the corresponding theard on glasgow-haskell-users:
+--
+--   <http://www.haskell.org/pipermail/glasgow-haskell-users/2012-September/022914.html>
+--
+-- It has been fixed in:
+--
+-- > 6ccf78e15a525282fef61bc4f58a279aa9c21771
+-- > Fix spurious superclass constraints bug.
+--
+module SpuriousSuperclassConstraints where
+
+import Control.Applicative
+
+data SomeType (f :: * -> *) a
+
+instance Functor (SomeType f) where
+  fmap = undefined
+
+instance Applicative f => Applicative (SomeType f) where
+  pure   = undefined
+  (<*>)  = undefined
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.