From 52103425e6d621523fb0ed5b5b83c2588cacc7b6 Mon Sep 17 00:00:00 2001 From: Mateusz Kowalczyk Date: Thu, 3 Apr 2014 21:13:48 +0100 Subject: Update test cases for GHC bug #8945, Haddock #188 The order of signature groups has been corrected upstream. Here we add a test case and update some existing test-cases to reflect this change. We remove grouped signature in test cases that we can (Minimal, BugDeprecated &c) so that the test is as self-contained as possible. --- html-test/src/Bug188.hs | 7 +++++++ html-test/src/BugDeprecated.hs | 14 +++++++++++--- html-test/src/Minimal.hs | 25 +++++++++++++++++++------ 3 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 html-test/src/Bug188.hs (limited to 'html-test/src') diff --git a/html-test/src/Bug188.hs b/html-test/src/Bug188.hs new file mode 100644 index 00000000..15089699 --- /dev/null +++ b/html-test/src/Bug188.hs @@ -0,0 +1,7 @@ +-- Tests that the listed order of functions grouped under a single +-- type signature is preserved as in-source. Before fixing #188, it +-- seems to have preserved the first function but reversed the rest. +module Bug188 where + +class A a where + f, g, h, i :: a -> () diff --git a/html-test/src/BugDeprecated.hs b/html-test/src/BugDeprecated.hs index 0f7ac2eb..7741786f 100644 --- a/html-test/src/BugDeprecated.hs +++ b/html-test/src/BugDeprecated.hs @@ -1,17 +1,25 @@ module BugDeprecated where -foo, bar, baz :: Int +foo :: Int foo = 23 + +bar :: Int bar = 23 + +baz :: Int baz = 23 {-# DEPRECATED foo "for foo" #-} {-# DEPRECATED bar "for bar" #-} {-# DEPRECATED baz "for baz" #-} --- | some documentation for one, two and three -one, two, three :: Int +-- | some documentation for one +one :: Int one = 23 + +two :: Int two = 23 + +three :: Int three = 23 {-# DEPRECATED one "for one" #-} {-# DEPRECATED two "for two" #-} diff --git a/html-test/src/Minimal.hs b/html-test/src/Minimal.hs index cd2df930..9df03cca 100644 --- a/html-test/src/Minimal.hs +++ b/html-test/src/Minimal.hs @@ -10,7 +10,9 @@ module Minimal class Foo a where -- | Any two of these are required... - foo, bar, bat :: a + foo :: a + bar :: a + bat :: a -- | .. or just this fooBarBat :: (a,a,a) @@ -18,23 +20,34 @@ class Foo a where {-# MINIMAL (foo, bar) | (bar, bat) | (foo, bat) | fooBarBat #-} class Weird a where - a,b,c,d,e,f,g :: a + a :: a + b :: a + c :: a + d :: a + e :: a + f :: a + g :: a {-# MINIMAL ((a, b), c | (d | (e, (f | g)))) #-} class NoMins a where - x,y,z :: a + x :: a + y :: a + z :: a -- | Has a default implementation! z = x class FullMin a where - aaa,bbb :: a + aaa :: a + bbb :: a class PartialMin a where - ccc,ddd :: a + ccc :: a + ddd :: a class EmptyMin a where - eee,fff :: a + eee :: a + fff :: a eee = fff fff = undefined -- cgit v1.2.3