diff options
author | Simon Hengel <sol@typeful.net> | 2012-10-15 20:03:43 +0200 |
---|---|---|
committer | Simon Hengel <sol@typeful.net> | 2012-10-15 20:03:43 +0200 |
commit | 0007a5adc2460ec3bca4b86eda670a93bf91c3c3 (patch) | |
tree | 7854c1e892fd9facd0e5de5f747d574cc8c709cd | |
parent | fbaa58ba1c62e3087f3fdb3c1c295d1d797d62ec (diff) |
Add test case for "spurious superclass constraints bug"
-rw-r--r-- | html-test/ref/SpuriousSuperclassConstraints.html | 128 | ||||
-rw-r--r-- | html-test/ref/mini_SpuriousSuperclassConstraints.html | 33 | ||||
-rw-r--r-- | html-test/tests/SpuriousSuperclassConstraints.hs | 30 |
3 files changed, 191 insertions, 0 deletions
diff --git a/html-test/ref/SpuriousSuperclassConstraints.html b/html-test/ref/SpuriousSuperclassConstraints.html new file mode 100644 index 00000000..26b30d24 --- /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" + > </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" + > </td + ></tr + ><tr + ><td class="src" + ><a href="" + >Applicative</a + > f => <a href="" + >Applicative</a + > (<a href="" + >SomeType</a + > f)</td + ><td class="doc empty" + > </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_SpuriousSuperclassConstraints.html b/html-test/ref/mini_SpuriousSuperclassConstraints.html new file mode 100644 index 00000000..22079a4e --- /dev/null +++ b/html-test/ref/mini_SpuriousSuperclassConstraints.html @@ -0,0 +1,33 @@ +<!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();}; +//]]> +</script + ></head + ><body id="mini" + ><div id="module-header" + ><p class="caption" + >SpuriousSuperclassConstraints</p + ></div + ><div id="interface" + ><div class="top" + ><p class="src" + ><span class="keyword" + >data</span + > <a href="" target="main" + >SomeType</a + > f a</p + ></div + ></div + ></body + ></html +> diff --git a/html-test/tests/SpuriousSuperclassConstraints.hs b/html-test/tests/SpuriousSuperclassConstraints.hs new file mode 100644 index 00000000..d9e43e1c --- /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 |