Skip to content
Snippets Groups Projects
Commit f45b17e6 authored by sof's avatar sof
Browse files

[project @ 1998-01-21 17:03:19 by sof]

- added regression test to deriving Ord instances on d. types
  with a single nullary constructor.
- Don't dump interface files on stderr, as we're only checking
  to see if the files compile here.
parent 87966417
No related merge requests found
Showing
with 7 additions and 214 deletions
......@@ -2,6 +2,6 @@ TOP = ../..
include $(TOP)/mk/boilerplate.mk
include $(TOP)/mk/should_compile.mk
HC_OPTS += -noC -dcore-lint -hi
HC_OPTS += -noC -dcore-lint -nohi
include $(TOP)/mk/target.mk
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
PrelRead 1 :: $d10 1 $d11 1 $d14 1 $d15 1 $d16 1 $d4 1 $d5 1 $d6 1 $d8 1 $mreadList 1 lex 1 readList__ 1 readParen 1 Read 1 ReadS 1;
PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
_exports_
ShouldSucceed T(E1) X(C1 C2 C3) Y(D1 D2);
_instances_
instance _forall_ [a] {PrelBase.Eq a} => {PrelRead.Read (T a)} = $d1;
instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Show (T a)} = $d2;
instance _forall_ [a] => {PrelBase.Eval (T a)} = $d3;
instance _forall_ [b] => {PrelBase.Eval (Y b)} = $d4;
instance _forall_ [a b] => {PrelBase.Eval (X a b)} = $d5;
instance _forall_ [b] {PrelBase.Eq b} => {PrelRead.Read (Y b)} = $d6;
instance _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelRead.Read (X a b)} = $d7;
instance _forall_ [b] {PrelBase.Eq b} => {PrelBase.Show (Y b)} = $d8;
instance _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelBase.Show (X a b)} = $d9;
_declarations_
1 $d1 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelRead.Read (T a)} ;;
1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Show (T a)} ;;
1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;;
1 $d4 _:_ _forall_ [b] => {PrelBase.Eval (Y b)} ;;
1 $d5 _:_ _forall_ [a b] => {PrelBase.Eval (X a b)} ;;
1 $d6 _:_ _forall_ [b] {PrelBase.Eq b} => {PrelRead.Read (Y b)} ;;
1 $d7 _:_ _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelRead.Read (X a b)} ;;
1 $d8 _:_ _forall_ [b] {PrelBase.Eq b} => {PrelBase.Show (Y b)} ;;
1 $d9 _:_ _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelBase.Show (X a b)} ;;
1 data T a = E1 ;
1 data X a b = C1 (T a) | C2 (Y b) | C3 (X b a) ;
1 data Y b = D1 | D2 (X PrelBase.Int b) ;
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
PrelBase 1 :: $d1 1 $d10 1 $d12 1 $d13 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d6 1 $d7 1 $d8 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1;
PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1;
PrelRead 1 :: $d10 1 $d11 1 $d14 1 $d15 1 $d16 1 $d4 1 $d5 1 $d6 1 $d8 1 $mreadList 1 lex 1 readList__ 1 readParen 1 Read 1 ReadS 1;
PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
_exports_
ShouldSucceed T(E1) Z(C1 C2);
_instances_
instance _forall_ [a] {PrelBase.Eq a} => {PrelRead.Read (T a)} = $d1;
instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Show (T a)} = $d2;
instance _forall_ [a] => {PrelBase.Eval (T a)} = $d3;
instance _forall_ [a b] => {PrelBase.Eval (Z a b)} = $d4;
instance _forall_ [a b] {PrelBase.Eq a} => {PrelRead.Read (Z a b)} = $d5;
instance _forall_ [a b] {PrelBase.Eq a} => {PrelBase.Show (Z a b)} = $d6;
_declarations_
1 $d1 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelRead.Read (T a)} ;;
1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Show (T a)} ;;
1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;;
1 $d4 _:_ _forall_ [a b] => {PrelBase.Eval (Z a b)} ;;
1 $d5 _:_ _forall_ [a b] {PrelBase.Eq a} => {PrelRead.Read (Z a b)} ;;
1 $d6 _:_ _forall_ [a b] {PrelBase.Eq a} => {PrelBase.Show (Z a b)} ;;
1 data T a = E1 ;
1 data Z a b = C1 (T a) | C2 (Z [a] [b]) ;
......@@ -4,30 +4,3 @@ drv003.hs:15: Warning: no explicit method nor default method for `=='
drv003.hs:12: Warning: no explicit method nor default method for `=='
in an instance declaration for `Eq'
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
PrelBase 1 :: $d13 1 $d2 1 $d26 1 $d29 1 $d31 1 $d33 1 $d38 1 $d7 1 $m/= 1 && 1 not 1 Eq 1 Eval 1;
PrelNum 1 :: $d18 1;
_exports_
ShouldSucceed Bar(MkBar) Foo(MkFoo) Ping T(C1 C2 C3);
_instances_
instance _forall_ [b] {Ping b} => {PrelBase.Eq (Bar b)} = $d1;
instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Foo a)} = $d2;
instance _forall_ [a b] {PrelBase.Eq a, Ping a, PrelBase.Eq b, Ping b} => {PrelBase.Eq (T a b)} = $d3;
instance _forall_ [a] => {PrelBase.Eval (Bar a)} = $d4;
instance _forall_ [a] => {PrelBase.Eval (Foo a)} = $d5;
instance _forall_ [a b] => {PrelBase.Eval (T a b)} = $d6;
_declarations_
1 $d1 _:_ _forall_ [b] {Ping b} => {PrelBase.Eq (Bar b)} ;;
1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Foo a)} ;;
1 $d3 _:_ _forall_ [a b] {PrelBase.Eq a, Ping a, PrelBase.Eq b, Ping b} => {PrelBase.Eq (T a b)} ;;
1 $d4 _:_ _forall_ [a] => {PrelBase.Eval (Bar a)} ;;
1 $d5 _:_ _forall_ [a] => {PrelBase.Eval (Foo a)} ;;
1 $d6 _:_ _forall_ [a b] => {PrelBase.Eval (T a b)} ;;
1 data Bar a = MkBar PrelBase.Int PrelBase.Int ;
1 data Foo a = MkFoo PrelBase.Double a ;
1 class Ping a ;
1 data T a b = C1 (Foo a) (Bar b) | C2 PrelBase.Int (T b a) | C3 (T a a) ;
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
PrelBase 1 :: $d12 1 $d13 1 $d2 1 $d20 1 $d21 1 $d26 1 $d27 1 $d28 1 $d29 1 $d30 1 $d31 1 $d33 1 $d36 1 $d37 1 $d38 1 $d39 1 $d40 1 $d41 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1 String 1;
PrelNum 1 :: $d17 1 $d18 1;
_exports_
ShouldSucceed Foo(C1 C2 C3);
_instances_
instance _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} = $d1;
instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $d2;
instance _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c} => {PrelBase.Ord (Foo a b c)} = $d3;
_declarations_
1 $d1 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} ;;
1 $d2 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;;
1 $d3 _:_ _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c, PrelBase.Eq (Foo a b c)} => {PrelBase.Ord (Foo a b c)} ;;
1 data Foo a b c = C1 a PrelBase.Int | C2 b PrelBase.Double | C3 c PrelBase.String ;
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
PrelBase 1 :: $d11 1 $d19 1 $d2 1 $d24 1 $d29 1 $d31 1 $d33 1 $d36 1 $d38 1 $d5 1 $menumFromThenTo 1 $menumFromTo 1 Enum 1 Eval 1 Functor 1;
PrelNum 1 :: $d8 1;
_exports_
ShouldSucceed Foo(Foo1 Foo2 Foo3 Foo4 Foo5 Foo6 Foo7 Foo8);
_instances_
instance {PrelBase.Enum Foo} = $d1;
instance {PrelBase.Eval Foo} = $d2;
_declarations_
1 $d1 _:_ {PrelBase.Enum Foo} ;;
1 $d2 _:_ {PrelBase.Eval Foo} ;;
1 data Foo = Foo1 | Foo2 | Foo3 | Foo4 | Foo5 | Foo6 | Foo7 | Foo8 ;
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
_exports_
ShouldSucceed Bar(MkBar) Foo(Foo1 Foo2 Foo3 Foo4 Foo5 Foo6 Foo7 Foo8);
_instances_
instance {PrelBase.Eq Foo} = $d1;
instance _forall_ [a b] => {PrelBase.Eval (Bar a b)} = $d2;
instance {PrelBase.Eval Foo} = $d3;
instance {PrelBase.Ord Foo} = $d4;
instance {PrelBase.Show Foo} = $d5;
instance {Ix.Ix Foo} = $d6;
_declarations_
1 $d1 _:_ {PrelBase.Eq Foo} ;;
1 $d2 _:_ _forall_ [a b] => {PrelBase.Eval (Bar a b)} ;;
1 $d3 _:_ {PrelBase.Eval Foo} ;;
1 $d4 _:_ {PrelBase.Ord Foo} ;;
1 $d5 _:_ {PrelBase.Show Foo} ;;
1 $d6 _:_ {Ix.Ix Foo} ;;
1 data Bar a b = MkBar a PrelBase.Int b PrelBase.Integer a ;
1 data Foo = Foo1 | Foo2 | Foo3 | Foo4 | Foo5 | Foo6 | Foo7 | Foo8 ;
--!!! deriving Ord on d. type with a single nullary constructor.
-- (from ghc-2.10 panic - as reported by Sergey Mechveliani <mechvel@botik.ru>)
--
module ShouldSucceed where
data D = D deriving (Eq,Ord)
NOTE: Simplifier still going after 4 iterations; bailing out.
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
_exports_
ShouldSucceed AD(A B C D);
_instances_
instance {PrelBase.Eq AD} = $d1;
instance {PrelBase.Eval AD} = $d2;
instance {PrelBase.Ord AD} = $d3;
instance {PrelBase.Show AD} = $d4;
instance {Ix.Ix AD} = $d5;
_declarations_
1 $d1 _:_ {PrelBase.Eq AD} ;;
1 $d2 _:_ {PrelBase.Eval AD} ;;
1 $d3 _:_ {PrelBase.Ord AD} ;;
1 $d4 _:_ {PrelBase.Show AD} ;;
1 $d5 _:_ {Ix.Ix AD} ;;
1 data AD = A | B | C | D ;
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1;
PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d12 1 $d13 1 $d15 1 $d17 1 $d18 1 $d19 1 $d2 1 $d20 1 $d21 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d3 1 $d30 1 $d31 1 $d33 1 $d34 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1;
PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1;
PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1;
_exports_
ShouldSucceed Pair(Pair);
_instances_
instance _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelBase.Eq (Pair a b)} = $d1;
instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $d2;
instance _forall_ [a b] {PrelBase.Ord a, PrelBase.Ord b} => {PrelBase.Ord (Pair a b)} = $d3;
instance _forall_ [a b] {PrelBase.Show a, PrelBase.Show b} => {PrelBase.Show (Pair a b)} = $d4;
instance _forall_ [a b] {Ix.Ix a, Ix.Ix b} => {Ix.Ix (Pair a b)} = $d5;
_declarations_
1 $d1 _:_ _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelBase.Eq (Pair a b)} ;;
1 $d2 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;;
1 $d3 _:_ _forall_ [a b] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Eq (Pair a b)} => {PrelBase.Ord (Pair a b)} ;;
1 $d4 _:_ _forall_ [a b] {PrelBase.Show a, PrelBase.Show b} => {PrelBase.Show (Pair a b)} ;;
1 $d5 _:_ _forall_ [a b] {Ix.Ix a, Ix.Ix b, PrelBase.Show (Pair a b), PrelBase.Ord (Pair a b)} => {Ix.Ix (Pair a b)} ;;
1 data Pair a b = Pair a b ;
ghc: module version changed to 1; reason: no old .hi file
_interface_ ShouldSucceed 1
_instance_modules_
Addr ArrBase Foreign IO PrelBounded PrelNum
_usages_
PrelBase 1 :: $d11 1 $d19 1 $d2 1 $d24 1 $d29 1 $d31 1 $d33 1 $d36 1 $d38 1 $d5 1 $menumFromThenTo 1 $menumFromTo 1 Enum 1 Eval 1 Functor 1;
PrelNum 1 :: $d8 1;
_exports_
ShouldSucceed AD(A B C D);
_instances_
instance {PrelBase.Enum AD} = $d1;
instance {PrelBase.Eval AD} = $d2;
_declarations_
1 $d1 _:_ {PrelBase.Enum AD} ;;
1 $d2 _:_ {PrelBase.Eval AD} ;;
1 data AD = A | B | C | D ;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment