[project @ 1997-09-04 12:54:24 by simonm]
[ghc-hetmet.git] / ghc / tests / deriving / should_compile / drv004.stderr
index f54e1f7..c92e43a 100644 (file)
@@ -1,9 +1,203 @@
-drv004.hs:5: No instance for:
-                `PrelBase.Eq (Foo a{-aIX-} b{-aIY-})'
-    drv004.hs:5:
-       in an instance declaration
-    When checking superclass constraints of an instance declaration
 
 
-Compilation had errors
+================================================================================
+Typechecked:
+C1{-r4,x-}{i} =
+    _/\_ a_tr3j b_tr3k c_tr3l -> \ tpl_B1 tpl_B2 ->
+       C1{-r4,x-}{i} {_@_ a_tr3j _@_ b_tr3k _@_ c_tr3l tpl_B1 tpl_B2}
+C2{-r3,x-}{i} =
+    _/\_ a_tr3j b_tr3k c_tr3l -> \ tpl_B1 tpl_B2 ->
+       C2{-r3,x-}{i} {_@_ a_tr3j _@_ b_tr3k _@_ c_tr3l tpl_B1 tpl_B2}
+C3{-r6,x-}{i} =
+    _/\_ a_tr3j b_tr3k c_tr3l -> \ tpl_B1 tpl_B2 ->
+       C3{-r6,x-}{i} {_@_ a_tr3j _@_ b_tr3k _@_ c_tr3l tpl_B1 tpl_B2}
+AbsBinds
+[taEz, taEB, taEC]
+[]
+[([taEz, taEB, taEC], con2tag_Foo#_rBK, con2tag_Foo#_aE7)]
+    con2tag_Foo#_aE7 (C1{-r4,x-}{i} _ _) = 0#
+    con2tag_Foo#_aE7 (C2{-r3,x-}{i} _ _) = 1#
+    con2tag_Foo#_aE7 (C3{-r6,x-}{i} _ _) = 2#
+AbsBinds
+[taEU, taEX, taF0]
+[d.Eq_aGk, d.Eq_aGl, d.Eq_aGm]
+[([taEU, taEX, taF0], $d1{-rLl,x-}, d.Eq_aEK)]
+    d.Eq_aGq = d.Eq_aGk
+    ==_aLu = PrelBase.=={-8Y,p-} taEU d.Eq_aGq
+    d.Eq_aGu = d.Eq_aGl
+    ==_aLv = PrelBase.=={-8Y,p-} taEX d.Eq_aGu
+    d.Eq_aGy = d.Eq_aGm
+    ==_aLw = PrelBase.=={-8Y,p-} taF0 d.Eq_aGy
+    ==_aLx = ==_aLy
+    AbsBinds [] [] [([], ==_aLy, ==_aEO)]
+       ==_aEO (C1{-r4,x-}{i} a1_rBS a2_rBT) (C1{-r4,x-}{i} b1_rBU b2_rBV)
+              = (a1_rBS ==_aLu b1_rBU)
+                PrelBase.&&{-rfc,p-} (a2_rBT ==_aLo b2_rBV)
+       ==_aEO (C2{-r3,x-}{i} a1_rBX a2_rBY) (C2{-r3,x-}{i} b1_rBZ b2_rC0)
+              = (a1_rBX ==_aLv b1_rBZ)
+                PrelBase.&&{-rfc,p-} (a2_rBY ==_aLp b2_rC0)
+       ==_aEO (C3{-r6,x-}{i} a1_rC2 a2_rC3) (C3{-r6,x-}{i} b1_rC4 b2_rC5)
+              = (a1_rC2 ==_aLw b1_rC4)
+                PrelBase.&&{-rfc,p-} (a2_rC3 ==_aLq b2_rC5)
+       ==_aEO a_rC7 b_rC8 = PrelBase.False{-58,w-}{i}
+    AbsBinds [] [] [([], /=_aLz, /=_aGd)]
+       /=_aGd a_rCc b_rCd = PrelBase.not{-rga,p-} ==_aLx a_rCc b_rCd
+    d.Eq_aEK = ({-dict-} [] [==_aLy, /=_aLz])
+AbsBinds
+[taLi, taLj, taLk]
+[]
+[([taLi, taLj, taLk], $d2{-rLm,x-}, d.Eval_aGL)]
+    d.Eval_aGL = ({-dict-} [] [])
+AbsBinds
+[taH0, taH1, taH2]
+[d.Ord_aKA, d.Ord_aKB, d.Ord_aKC, d.Eq_aKD]
+[([taH0, taH1, taH2], $d3{-rLn,x-}, d.Ord_aGT)]
+    d.Eq_aKz = d.Eq_aKD
+    d.Ord_aJb = d.Ord_aKA
+    d.Ord_aJc = d.Ord_aKB
+    d.Ord_aJd = d.Ord_aKC
+    compare_aLA = compare_aLG
+    compare_aLB = compare_aLG
+    compare_aLC = compare_aLG
+    compare_aLD = compare_aLG
+    compare_aLE = compare_aLG
+    compare_aLF = compare_aLG
+    AbsBinds [] [] [([], compare_aLG, compare_aGX)]
+       compare_aGX a_rD5 b_rD6
+                   = case con2tag_Foo#_rBK [taH2, taH0, taH1] a_rD5 of
+                       a#_rDI
+                       -> case con2tag_Foo#_rBK [taH2, taH0, taH1] b_rD6 of
+                            b#_rDK
+                            -> if a#_rDI GHC.==#{-79,w-}{I} b#_rDK then
+                                   case cmp_eq_aLN a_rD5 b_rD6 of
+                                     PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
+                                     PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
+                                     PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
+                               else
+                                   if a#_rDI GHC.<#{-7b,w-}{I} b#_rDK then
+                                       PrelBase.LT{-r9P,p-}{i}
+                                   else
+                                       PrelBase.GT{-r9Q,p-}{i}
+                   where
+                       {- nonrec -}
+                       AbsBinds
+                       [taIi, taIj, taIm]
+                       [d.Ord_aIx, d.Ord_aIB, d.Ord_aIF]
+                       [([taIi, taIj, taIm], cmp_eq_rD8, cmp_eq_aH6)]
+                           compare_aLO = PrelBase.compare{-rfr,p-} taIi d.Ord_aIx
+                           compare_aLP = PrelBase.compare{-rfr,p-} taIj d.Ord_aIB
+                           compare_aLQ = PrelBase.compare{-rfr,p-} taIm d.Ord_aIF
+                           cmp_eq_aH6 (C1{-r4,x-}{i} a1_rDa a2_rDb)
+                                      (C1{-r4,x-}{i} b1_rDc b2_rDd)
+                                      = case compare_aLO a1_rDa b1_rDc of
+                                          PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
+                                          PrelBase.EQ{-r3m,p-}{i}
+                                          -> case compare_aLr a2_rDb b2_rDd of
+                                               PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
+                                               PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
+                                               PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
+                                          PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
+                           cmp_eq_aH6 (C2{-r3,x-}{i} a1_rDl a2_rDm)
+                                      (C2{-r3,x-}{i} b1_rDn b2_rDo)
+                                      = case compare_aLP a1_rDl b1_rDn of
+                                          PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
+                                          PrelBase.EQ{-r3m,p-}{i}
+                                          -> case compare_aLs a2_rDm b2_rDo of
+                                               PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
+                                               PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
+                                               PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
+                                          PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
+                           cmp_eq_aH6 (C3{-r6,x-}{i} a1_rDw a2_rDx)
+                                      (C3{-r6,x-}{i} b1_rDy b2_rDz)
+                                      = case compare_aLQ a1_rDw b1_rDy of
+                                          PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
+                                          PrelBase.EQ{-r3m,p-}{i}
+                                          -> case compare_aLt a2_rDx b2_rDz of
+                                               PrelBase.LT{-r9P,p-}{i} -> PrelBase.LT{-r9P,p-}{i}
+                                               PrelBase.EQ{-r3m,p-}{i} -> PrelBase.EQ{-r3m,p-}{i}
+                                               PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
+                                          PrelBase.GT{-r9Q,p-}{i} -> PrelBase.GT{-r9Q,p-}{i}
+                           cmp_eq_aH6 _ _
+                                      = IOBase.error{-87,w-}
+                                            PrelBase.Ordering{-3o,p-} "Urk! in TcGenDeriv"
+                       {- nonrec -}
+                       cmp_eq_aLN =
+                           cmp_eq_rD8 [taH0, taH1, taH2] [d.Ord_aJb, d.Ord_aJc, d.Ord_aJd]
+                       {- nonrec -}
+    AbsBinds [] [] [([], <_aLH, <_aJo)]
+       <_aJo a_rCj b_rCk
+             = case compare_aLA a_rCj b_rCk of
+                 PrelBase.LT{-r9P,p-}{i} -> PrelBase.True{-5E,w-}{i}
+                 PrelBase.EQ{-r3m,p-}{i} -> PrelBase.False{-58,w-}{i}
+                 PrelBase.GT{-r9Q,p-}{i} -> PrelBase.False{-58,w-}{i}
+    AbsBinds [] [] [([], <=_aLI, <=_aJB)]
+       <=_aJB a_rCr b_rCs
+              = case compare_aLB a_rCr b_rCs of
+                  PrelBase.LT{-r9P,p-}{i} -> PrelBase.True{-5E,w-}{i}
+                  PrelBase.EQ{-r3m,p-}{i} -> PrelBase.True{-5E,w-}{i}
+                  PrelBase.GT{-r9Q,p-}{i} -> PrelBase.False{-58,w-}{i}
+    AbsBinds [] [] [([], >=_aLJ, >=_aJO)]
+       >=_aJO a_rCz b_rCA
+              = case compare_aLC a_rCz b_rCA of
+                  PrelBase.LT{-r9P,p-}{i} -> PrelBase.False{-58,w-}{i}
+                  PrelBase.EQ{-r3m,p-}{i} -> PrelBase.True{-5E,w-}{i}
+                  PrelBase.GT{-r9Q,p-}{i} -> PrelBase.True{-5E,w-}{i}
+    AbsBinds [] [] [([], >_aLK, >_aK1)]
+       >_aK1 a_rCH b_rCI
+             = case compare_aLD a_rCH b_rCI of
+                 PrelBase.LT{-r9P,p-}{i} -> PrelBase.False{-58,w-}{i}
+                 PrelBase.EQ{-r3m,p-}{i} -> PrelBase.False{-58,w-}{i}
+                 PrelBase.GT{-r9Q,p-}{i} -> PrelBase.True{-5E,w-}{i}
+    AbsBinds [] [] [([], max_aLL, max_aKe)]
+       max_aKe a_rCP b_rCQ
+               = case compare_aLE a_rCP b_rCQ of
+                   PrelBase.LT{-r9P,p-}{i} -> b_rCQ
+                   PrelBase.EQ{-r3m,p-}{i} -> a_rCP
+                   PrelBase.GT{-r9Q,p-}{i} -> a_rCP
+    AbsBinds [] [] [([], min_aLM, min_aKr)]
+       min_aKr a_rCX b_rCY
+               = case compare_aLF a_rCX b_rCY of
+                   PrelBase.LT{-r9P,p-}{i} -> a_rCX
+                   PrelBase.EQ{-r3m,p-}{i} -> b_rCY
+                   PrelBase.GT{-r9Q,p-}{i} -> b_rCY
+    d.Ord_aGT =
+       ({-dict-}
+        [d.Eq_aKz]
+        [compare_aLG, <_aLH, <=_aLI, >=_aLJ, >_aLK, max_aLL, min_aLM])
+d.Eq_aKX = PrelBase.$d8{-raU,p-}
+==_aLo = PrelBase.=={-8Y,p-} PrelBase.Int{-3g,W-} d.Eq_aKX
+d.Eq_aL0 = PrelNum.$d18{-rtI,p-}
+==_aLp = PrelBase.=={-8Y,p-} PrelBase.Double{-3a,W-} d.Eq_aL0
+d.Eq_aL5 = PrelBase.$d34{-rar,p-}
+d.Eq_aL3 = PrelBase.$d28{-rak,p-} PrelBase.Char{-38,W-} d.Eq_aL5
+==_aLq = PrelBase.=={-8Y,p-} PrelBase.String{-rfA,p-} d.Eq_aL3
+d.Ord_aL8 = PrelBase.$d7{-raT,p-}
+compare_aLr =
+    PrelBase.compare{-rfr,p-} PrelBase.Int{-3g,W-} d.Ord_aL8
+d.Ord_aLb = PrelNum.$d17{-rtH,p-}
+compare_aLs =
+    PrelBase.compare{-rfr,p-} PrelBase.Double{-3a,W-} d.Ord_aLb
+d.Ord_aLg = PrelBase.$d51{-raK,p-}
+d.Eq_aLh = d.Eq_aL3
+d.Ord_aLe =
+    PrelBase.$d27{-raj,p-} PrelBase.Char{-38,W-} [d.Ord_aLg, d.Eq_aLh]
+compare_aLt =
+    PrelBase.compare{-rfr,p-} PrelBase.String{-rfA,p-} d.Ord_aLe
+ghc: module version changed to 1; reason: no old .hi file
+_interface_ ShouldSucceed 1
+_instance_modules_
+ArrBase IO PrelNum
+_usages_
+PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d27 1 $d28 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d40 1 $d42 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d7 1 $d8 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 ;