summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2021-10-21 10:32:21 +0200
committerJoachim Breitner <mail@joachim-breitner.de>2021-10-22 09:52:03 +0200
commitd2320e91f9976c046d67b2948a4130b14b6a9266 (patch)
tree3d80f5302203dff7a483c5757546f47287efafe1
parent7ff71364649a96ef85232f48687ca98d5fdc252c (diff)
downloadhaskell-wip/joachim/single-method-eq.tar.gz
Blindly fix test suite to let CI proceed to perf stagewip/joachim/single-method-eq
-rw-r--r--testsuite/tests/arityanal/should_compile/Arity11.stderr77
-rw-r--r--testsuite/tests/deSugar/should_compile/ds027.hs1
-rw-r--r--testsuite/tests/deriving/should_compile/T14579.stderr16
-rw-r--r--testsuite/tests/deriving/should_compile/T14682.stderr6
-rw-r--r--testsuite/tests/deriving/should_compile/T4966.hs1
-rw-r--r--testsuite/tests/deriving/should_compile/T4966.stderr2
-rw-r--r--testsuite/tests/deriving/should_compile/deriving-1935.stderr4
-rw-r--r--testsuite/tests/deriving/should_compile/drv003.stderr4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print012.script4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print012.stdout4
-rw-r--r--testsuite/tests/ghci.debugger/scripts/print034.stdout2
-rw-r--r--testsuite/tests/ghci/scripts/T16575.stdout2
-rw-r--r--testsuite/tests/ghci/scripts/T5820.stderr2
-rw-r--r--testsuite/tests/ghci/scripts/ghci019.stderr2
-rw-r--r--testsuite/tests/module/mod91.stderr3
-rw-r--r--testsuite/tests/module/mod93.hs2
-rw-r--r--testsuite/tests/module/mod94.hs3
-rw-r--r--testsuite/tests/module/mod95.hs1
-rw-r--r--testsuite/tests/numeric/should_run/T19931.hs1
-rw-r--r--testsuite/tests/simplCore/should_compile/T16038/T16038.stdout1
-rw-r--r--testsuite/tests/simplCore/should_compile/T16373.stderr12
-rw-r--r--testsuite/tests/typecheck/should_compile/T2497.stderr4
-rw-r--r--testsuite/tests/typecheck/should_compile/T7903.stderr2
-rw-r--r--testsuite/tests/typecheck/should_compile/tc068.hs4
-rw-r--r--testsuite/tests/typecheck/should_compile/tc074.hs4
-rw-r--r--testsuite/tests/typecheck/should_compile/tc078.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T5051.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail038.stderr10
m---------utils/haddock0
29 files changed, 74 insertions, 104 deletions
diff --git a/testsuite/tests/arityanal/should_compile/Arity11.stderr b/testsuite/tests/arityanal/should_compile/Arity11.stderr
index da35b40ab8..b7f53f9af7 100644
--- a/testsuite/tests/arityanal/should_compile/Arity11.stderr
+++ b/testsuite/tests/arityanal/should_compile/Arity11.stderr
@@ -1,21 +1,21 @@
==================== Tidy Core ====================
-Result size of Tidy Core = {terms: 129, types: 98, coercions: 0, joins: 0/5}
+Result size of Tidy Core = {terms: 120, types: 67, coercions: 4, joins: 0/5}
--- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
F11.fib1 :: Integer
-[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
-F11.fib1 = 0
+[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
+F11.fib1 = GHC.Num.Integer.IS 0#
--- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
F11.fib3 :: Integer
-[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
-F11.fib3 = 1
+[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
+F11.fib3 = GHC.Num.Integer.IS 1#
--- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
F11.fib2 :: Integer
-[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
-F11.fib2 = 2
+[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
+F11.fib2 = GHC.Num.Integer.IS 2#
Rec {
-- RHS size: {terms: 24, types: 3, coercions: 0, joins: 0/0}
@@ -33,55 +33,46 @@ F11.f11_fib
}
end Rec }
--- RHS size: {terms: 52, types: 27, coercions: 0, joins: 0/5}
-F11.$wfib [InlPrag=[2]] :: forall {t} {a}. (t -> t -> Bool) -> (Num t, Num a) => t -> a
-[GblId, Arity=4, Str=<SCS(C1(L))><LP(A,LCL(C1(L)),A,A,A,A,L)><LP(LCL(C1(L)),A,A,A,A,A,MCM(L))><L>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 150 60 0] 460 0}]
-F11.$wfib
- = \ (@t) (@a) (ww :: t -> t -> Bool) (w :: Num t) (w1 :: Num a) (w2 :: t) ->
+-- RHS size: {terms: 52, types: 26, coercions: 4, joins: 0/5}
+fib :: forall {t} {a}. (Eq t, Num t, Num a) => t -> a
+[GblId, Arity=4, Str=<SCS(C1(L))><LP(A,LCL(C1(L)),A,A,A,A,L)><LP(LCL(C1(L)),A,A,A,A,A,MCM(L))><L>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [120 150 60 0] 460 0}]
+fib
+ = \ (@t) (@a) ($dEq :: Eq t) ($dNum :: Num t) ($dNum1 :: Num a) (eta :: t) ->
let {
lvl :: t
[LclId]
- lvl = fromInteger @t w F11.fib3 } in
+ lvl = fromInteger @t $dNum F11.fib3 } in
let {
lvl1 :: t
[LclId]
- lvl1 = fromInteger @t w F11.fib2 } in
+ lvl1 = fromInteger @t $dNum F11.fib2 } in
let {
lvl2 :: a
[LclId]
- lvl2 = fromInteger @a w1 F11.fib3 } in
+ lvl2 = fromInteger @a $dNum1 F11.fib3 } in
let {
lvl3 :: t
[LclId]
- lvl3 = fromInteger @t w F11.fib1 } in
+ lvl3 = fromInteger @t $dNum F11.fib1 } in
letrec {
fib4 [Occ=LoopBreaker, Dmd=SCS(L)] :: t -> a
[LclId, Arity=1, Str=<L>, Unf=OtherCon []]
fib4
= \ (ds :: t) ->
- case ww ds lvl3 of {
+ case ($dEq `cast` (GHC.Classes.N:Eq[0] <t>_N :: Eq t ~R# (t -> t -> Bool))) ds lvl3 of {
False ->
- case ww ds lvl of {
- False -> + @a w1 (fib4 (- @t w ds lvl)) (fib4 (- @t w ds lvl1));
+ case ($dEq `cast` (GHC.Classes.N:Eq[0] <t>_N :: Eq t ~R# (t -> t -> Bool))) ds lvl of {
+ False -> + @a $dNum1 (fib4 (- @t $dNum ds lvl)) (fib4 (- @t $dNum ds lvl1));
True -> lvl2
};
True -> lvl2
}; } in
- fib4 w2
-
--- RHS size: {terms: 14, types: 20, coercions: 0, joins: 0/0}
-fib [InlPrag=[2]] :: forall {t} {a}. (Eq t, Num t, Num a) => t -> a
-[GblId,
- Arity=4,
- Str=<1P(SCS(C1(L)),A)><LP(A,LCL(C1(L)),A,A,A,A,L)><LP(LCL(C1(L)),A,A,A,A,A,L)><L>,
- Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=4,unsat_ok=True,boring_ok=False)
- Tmpl= \ (@t) (@a) (w [Occ=Once1!] :: Eq t) (w1 [Occ=Once1] :: Num t) (w2 [Occ=Once1] :: Num a) (w3 [Occ=Once1] :: t) -> case w of { GHC.Classes.C:Eq ww [Occ=Once1] _ [Occ=Dead] -> F11.$wfib @t @a ww w1 w2 w3 }}]
-fib = \ (@t) (@a) (w :: Eq t) (w1 :: Num t) (w2 :: Num a) (w3 :: t) -> case w of { GHC.Classes.C:Eq ww ww1 -> F11.$wfib @t @a ww w1 w2 w3 }
-
--- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
+ fib4 eta
+
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
F11.f3 :: Integer
-[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
-F11.f3 = 1000
+[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
+F11.f3 = GHC.Num.Integer.IS 1000#
-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
F11.f11_x :: Integer
@@ -93,25 +84,25 @@ F11.f11f1 :: Integer -> Integer
[GblId, Arity=1, Str=<SL>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 30 0}]
F11.f11f1 = \ (y :: Integer) -> GHC.Num.Integer.integerAdd F11.f11_x y
--- RHS size: {terms: 3, types: 2, coercions: 0, joins: 0/0}
+-- RHS size: {terms: 3, types: 3, coercions: 0, joins: 0/0}
f11f :: forall {p}. p -> Integer -> Integer
[GblId, Arity=2, Str=<A><SL>, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=True)}]
f11f = \ (@p) _ [Occ=Dead] -> F11.f11f1
--- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
F11.f5 :: Integer
-[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
-F11.f5 = 6
+[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
+F11.f5 = GHC.Num.Integer.IS 6#
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
F11.f4 :: Integer
[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}]
F11.f4 = GHC.Num.Integer.integerAdd F11.f11_x F11.f5
--- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0}
+-- RHS size: {terms: 2, types: 0, coercions: 0, joins: 0/0}
F11.f2 :: Integer
-[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}]
-F11.f2 = 8
+[GblId, Unf=Unf{Src=<vanilla>, TopLvl=True, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 10}]
+F11.f2 = GHC.Num.Integer.IS 8#
-- RHS size: {terms: 3, types: 0, coercions: 0, joins: 0/0}
F11.f1 :: Integer
diff --git a/testsuite/tests/deSugar/should_compile/ds027.hs b/testsuite/tests/deSugar/should_compile/ds027.hs
index 436958e531..9e8024b7f5 100644
--- a/testsuite/tests/deSugar/should_compile/ds027.hs
+++ b/testsuite/tests/deSugar/should_compile/ds027.hs
@@ -6,4 +6,3 @@ data Foo = Bar | Baz
instance Eq Foo where
Bar == Baz = True
- Bar /= Baz = False
diff --git a/testsuite/tests/deriving/should_compile/T14579.stderr b/testsuite/tests/deriving/should_compile/T14579.stderr
index 31545c6de7..42d00e2fbb 100644
--- a/testsuite/tests/deriving/should_compile/T14579.stderr
+++ b/testsuite/tests/deriving/should_compile/T14579.stderr
@@ -4,40 +4,24 @@ Derived class instances:
instance GHC.Classes.Eq a => GHC.Classes.Eq (T14579.Glurp a) where
(GHC.Classes.==) ::
T14579.Glurp a -> T14579.Glurp a -> GHC.Types.Bool
- (GHC.Classes./=) ::
- T14579.Glurp a -> T14579.Glurp a -> GHC.Types.Bool
(GHC.Classes.==)
= GHC.Prim.coerce
@(T14579.Wat 'Data.Proxy.Proxy
-> T14579.Wat 'Data.Proxy.Proxy -> GHC.Types.Bool)
@(T14579.Glurp a -> T14579.Glurp a -> GHC.Types.Bool)
((GHC.Classes.==) @(T14579.Wat 'Data.Proxy.Proxy))
- (GHC.Classes./=)
- = GHC.Prim.coerce
- @(T14579.Wat 'Data.Proxy.Proxy
- -> T14579.Wat 'Data.Proxy.Proxy -> GHC.Types.Bool)
- @(T14579.Glurp a -> T14579.Glurp a -> GHC.Types.Bool)
- ((GHC.Classes./=) @(T14579.Wat 'Data.Proxy.Proxy))
instance forall a (x :: Data.Proxy.Proxy a).
GHC.Classes.Eq a =>
GHC.Classes.Eq (T14579.Wat x) where
(GHC.Classes.==) ::
T14579.Wat x[sk:1] -> T14579.Wat x[sk:1] -> GHC.Types.Bool
- (GHC.Classes./=) ::
- T14579.Wat x[sk:1] -> T14579.Wat x[sk:1] -> GHC.Types.Bool
(GHC.Classes.==)
= GHC.Prim.coerce
@(GHC.Maybe.Maybe a[sk:1]
-> GHC.Maybe.Maybe a[sk:1] -> GHC.Types.Bool)
@(T14579.Wat x[sk:1] -> T14579.Wat x[sk:1] -> GHC.Types.Bool)
((GHC.Classes.==) @(GHC.Maybe.Maybe a[sk:1]))
- (GHC.Classes./=)
- = GHC.Prim.coerce
- @(GHC.Maybe.Maybe a[sk:1]
- -> GHC.Maybe.Maybe a[sk:1] -> GHC.Types.Bool)
- @(T14579.Wat x[sk:1] -> T14579.Wat x[sk:1] -> GHC.Types.Bool)
- ((GHC.Classes./=) @(GHC.Maybe.Maybe a[sk:1]))
Derived type family instances:
diff --git a/testsuite/tests/deriving/should_compile/T14682.stderr b/testsuite/tests/deriving/should_compile/T14682.stderr
index 1d84be7b50..ddfb30c69e 100644
--- a/testsuite/tests/deriving/should_compile/T14682.stderr
+++ b/testsuite/tests/deriving/should_compile/T14682.stderr
@@ -153,12 +153,6 @@ Data.Data.Data [T14682.Foo]
==================== Filling in method body ====================
-GHC.Classes.Eq [T14682.Foo]
- GHC.Classes./= = GHC.Classes.$dm/= @(T14682.Foo)
-
-
-
-==================== Filling in method body ====================
GHC.Classes.Ord [T14682.Foo]
GHC.Classes.max = GHC.Classes.$dmmax @(T14682.Foo)
diff --git a/testsuite/tests/deriving/should_compile/T4966.hs b/testsuite/tests/deriving/should_compile/T4966.hs
index 85245b73ff..5b197027f4 100644
--- a/testsuite/tests/deriving/should_compile/T4966.hs
+++ b/testsuite/tests/deriving/should_compile/T4966.hs
@@ -42,4 +42,3 @@ data GUIOBJECT
instance Eq GUIOBJECT where
(==) = undefined
- (/=) = undefined
diff --git a/testsuite/tests/deriving/should_compile/T4966.stderr b/testsuite/tests/deriving/should_compile/T4966.stderr
index a705c20793..91403546f0 100644
--- a/testsuite/tests/deriving/should_compile/T4966.stderr
+++ b/testsuite/tests/deriving/should_compile/T4966.stderr
@@ -4,5 +4,5 @@ T4966.hs:3:14: warning: [-Wdeprecated-flags (in -Wdefault)]
T4966.hs:35:30: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq (TreeListObject a)’
diff --git a/testsuite/tests/deriving/should_compile/deriving-1935.stderr b/testsuite/tests/deriving/should_compile/deriving-1935.stderr
index 3864e8e2f0..f916d5e07f 100644
--- a/testsuite/tests/deriving/should_compile/deriving-1935.stderr
+++ b/testsuite/tests/deriving/should_compile/deriving-1935.stderr
@@ -1,12 +1,12 @@
deriving-1935.hs:18:11: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq (T a)’
deriving-1935.hs:21:11: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq (S a)’
deriving-1935.hs:22:11: warning: [-Wmissing-methods (in -Wdefault)]
diff --git a/testsuite/tests/deriving/should_compile/drv003.stderr b/testsuite/tests/deriving/should_compile/drv003.stderr
index f939631a8e..375b08621a 100644
--- a/testsuite/tests/deriving/should_compile/drv003.stderr
+++ b/testsuite/tests/deriving/should_compile/drv003.stderr
@@ -1,10 +1,10 @@
drv003.hs:14:10: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq (Foo a)’
drv003.hs:17:10: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq (Bar b)’
diff --git a/testsuite/tests/ghci.debugger/scripts/print012.script b/testsuite/tests/ghci.debugger/scripts/print012.script
index 61b654ae22..1209face3e 100644
--- a/testsuite/tests/ghci.debugger/scripts/print012.script
+++ b/testsuite/tests/ghci.debugger/scripts/print012.script
@@ -7,5 +7,5 @@ let o = O (id foo)
seq _t1 ()
:t _t1
:p o
-seq _t4 ()
-:p o \ No newline at end of file
+seq _t3 ()
+:p o
diff --git a/testsuite/tests/ghci.debugger/scripts/print012.stdout b/testsuite/tests/ghci.debugger/scripts/print012.stdout
index e188a90d0c..7ff7b78372 100644
--- a/testsuite/tests/ghci.debugger/scripts/print012.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print012.stdout
@@ -1,6 +1,6 @@
o = O (_t1::a0)
()
_t1 :: SafeList Int NonEmpty
-o = O (Cons 3 (_t4::SafeList Int y10))
+o = O (Cons 3 (_t3::SafeList Int y10))
()
-o = O (Cons 3 (Cons 6 (_t9::SafeList Int y10)))
+o = O (Cons 3 (Cons 6 (_t6::SafeList Int y10)))
diff --git a/testsuite/tests/ghci.debugger/scripts/print034.stdout b/testsuite/tests/ghci.debugger/scripts/print034.stdout
index f497209e87..a2f951c417 100644
--- a/testsuite/tests/ghci.debugger/scripts/print034.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/print034.stdout
@@ -1,4 +1,4 @@
o = O (_t1::a0)
()
_t1 :: SafeList Bool NonEmpty
-o = O (One False (_t4::SafeList Bool Empty))
+o = O (One False (_t3::SafeList Bool Empty))
diff --git a/testsuite/tests/ghci/scripts/T16575.stdout b/testsuite/tests/ghci/scripts/T16575.stdout
index 833fb02d80..4eba636138 100644
--- a/testsuite/tests/ghci/scripts/T16575.stdout
+++ b/testsuite/tests/ghci/scripts/T16575.stdout
@@ -10,8 +10,6 @@ T16575.hs:(4,15)-(4,18): Ghost.X -> GHC.Base.String
T16575.hs:(4,15)-(4,18): [Ghost.X] -> GHC.Show.ShowS
T16575.hs:(6,10)-(6,13): GHC.Classes.Eq Ghost.X
T16575.hs:(6,10)-(6,13): (Ghost.X -> Ghost.X -> GHC.Types.Bool) -> GHC.Classes.Eq Ghost.X
-T16575.hs:(6,10)-(6,13): (Ghost.X -> Ghost.X -> GHC.Types.Bool) -> (Ghost.X -> Ghost.X -> GHC.Types.Bool) -> GHC.Classes.Eq Ghost.X
-T16575.hs:(6,10)-(6,13): Ghost.X -> Ghost.X -> GHC.Types.Bool
T16575.hs:(6,10)-(6,13): Ghost.X -> Ghost.X -> GHC.Types.Bool
T16575.hs:(7,14)-(7,17): GHC.Types.Bool
T16575.hs:(8,14)-(8,17): GHC.Types.Bool
diff --git a/testsuite/tests/ghci/scripts/T5820.stderr b/testsuite/tests/ghci/scripts/T5820.stderr
index 370aa6d95c..eb9e2dec09 100644
--- a/testsuite/tests/ghci/scripts/T5820.stderr
+++ b/testsuite/tests/ghci/scripts/T5820.stderr
@@ -1,5 +1,5 @@
T5820.hs:4:10: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq Foo’
diff --git a/testsuite/tests/ghci/scripts/ghci019.stderr b/testsuite/tests/ghci/scripts/ghci019.stderr
index 51d5a0123f..8c77b71dab 100644
--- a/testsuite/tests/ghci/scripts/ghci019.stderr
+++ b/testsuite/tests/ghci/scripts/ghci019.stderr
@@ -1,5 +1,5 @@
ghci019.hs:10:10: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘Prelude.==’ or ‘Prelude./=’
+ ‘Prelude.==’
• In the instance declaration for ‘Prelude.Eq Foo’
diff --git a/testsuite/tests/module/mod91.stderr b/testsuite/tests/module/mod91.stderr
index 6b0a9cc737..85f9764bfe 100644
--- a/testsuite/tests/module/mod91.stderr
+++ b/testsuite/tests/module/mod91.stderr
@@ -1,2 +1,3 @@
-mod91.hs:3:16: error: Module ‘Prelude’ does not export ‘Eq(eq)’
+mod91.hs:3:16: error:
+ Module ‘Prelude’ does not export ‘Eq((/=), eq)’
diff --git a/testsuite/tests/module/mod93.hs b/testsuite/tests/module/mod93.hs
index 9dbd82cc9d..8660fbfb83 100644
--- a/testsuite/tests/module/mod93.hs
+++ b/testsuite/tests/module/mod93.hs
@@ -1,4 +1,4 @@
-- !!! Importing Class with duplicate member
module M where
-import Prelude(Eq((==),(/=),(==)))
+import Prelude(Eq((==),(==)))
diff --git a/testsuite/tests/module/mod94.hs b/testsuite/tests/module/mod94.hs
index d485705132..d937a37717 100644
--- a/testsuite/tests/module/mod94.hs
+++ b/testsuite/tests/module/mod94.hs
@@ -1,5 +1,4 @@
-- !!! Correct Class import (explicit member list)
module M where
-import Prelude(Eq((==),(/=)))
+import Prelude(Eq((==)))
x = 'a' == 'b'
-y = 'a' /= 'b'
diff --git a/testsuite/tests/module/mod95.hs b/testsuite/tests/module/mod95.hs
index b1969b58a2..a503b044f3 100644
--- a/testsuite/tests/module/mod95.hs
+++ b/testsuite/tests/module/mod95.hs
@@ -2,4 +2,3 @@
module M where
import Prelude(Eq(..))
x = 'a' == 'b'
-y = 'a' /= 'b'
diff --git a/testsuite/tests/numeric/should_run/T19931.hs b/testsuite/tests/numeric/should_run/T19931.hs
index 1ab9002d2e..a1badf15fa 100644
--- a/testsuite/tests/numeric/should_run/T19931.hs
+++ b/testsuite/tests/numeric/should_run/T19931.hs
@@ -14,7 +14,6 @@ instance Num T where
instance Eq T where
(==) (T a) (T b) = isTrue# (a `eqWord8#` b)
- (/=) (T a) (T b) = isTrue# (a `neWord8#` b)
main :: IO ()
main = do
diff --git a/testsuite/tests/simplCore/should_compile/T16038/T16038.stdout b/testsuite/tests/simplCore/should_compile/T16038/T16038.stdout
index eec60ece9c..1823385117 100644
--- a/testsuite/tests/simplCore/should_compile/T16038/T16038.stdout
+++ b/testsuite/tests/simplCore/should_compile/T16038/T16038.stdout
@@ -1,5 +1,4 @@
Rec {
-$fEqHsExpr_$c/=
$fEqHsExpr
$fEqHsExpr_$c==
end Rec }
diff --git a/testsuite/tests/simplCore/should_compile/T16373.stderr b/testsuite/tests/simplCore/should_compile/T16373.stderr
index 61343a6627..b75981a461 100644
--- a/testsuite/tests/simplCore/should_compile/T16373.stderr
+++ b/testsuite/tests/simplCore/should_compile/T16373.stderr
@@ -1,11 +1,17 @@
==================== Tidy Core ====================
Result size of Tidy Core
- = {terms: 4, types: 2, coercions: 0, joins: 0/0}
+ = {terms: 16, types: 5, coercions: 0, joins: 0/0}
-testAB = False
+testAA2 = "A"#
-testAA = True
+testAA1 = unpackCString# testAA2
+
+testAB1 = "B"#
+
+testAB = $fEqModule_$s$c== testAA1 (unpackCString# testAB1)
+
+testAA = $fEqModule_$s$c== testAA1 testAA1
diff --git a/testsuite/tests/typecheck/should_compile/T2497.stderr b/testsuite/tests/typecheck/should_compile/T2497.stderr
index 581008128b..2429cafffa 100644
--- a/testsuite/tests/typecheck/should_compile/T2497.stderr
+++ b/testsuite/tests/typecheck/should_compile/T2497.stderr
@@ -1,3 +1,7 @@
T2497.hs:22:1: warning: [-Wunused-top-binds (in -Wextra, -Wunused-binds)]
Defined but not used: ‘beq’
+
+T2497.hs:25:5: warning: [-Winline-rule-shadowing (in -Wdefault)]
+ Rule "rule 1" may never fire because ‘==’ might inline first
+ Suggested fix: Add an INLINE[n] or NOINLINE[n] pragma for ‘==’
diff --git a/testsuite/tests/typecheck/should_compile/T7903.stderr b/testsuite/tests/typecheck/should_compile/T7903.stderr
index 515cd6eb28..391408c83a 100644
--- a/testsuite/tests/typecheck/should_compile/T7903.stderr
+++ b/testsuite/tests/typecheck/should_compile/T7903.stderr
@@ -1,7 +1,7 @@
T7903.hs:8:10: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq (a -> b)’
T7903.hs:9:10: warning: [-Wmissing-methods (in -Wdefault)]
diff --git a/testsuite/tests/typecheck/should_compile/tc068.hs b/testsuite/tests/typecheck/should_compile/tc068.hs
index f455d41b6e..5528fb6b8d 100644
--- a/testsuite/tests/typecheck/should_compile/tc068.hs
+++ b/testsuite/tests/typecheck/should_compile/tc068.hs
@@ -8,11 +8,7 @@ instance (Eq a) => Eq (T a) where
C == C = True
a == b = False
- a /= b = not (a == b)
-
instance (Eq b) => Eq (B b) where
X == X = True
(Y a) == (Y b) = a == b
a == b = False
-
- a /= b = not (a == b)
diff --git a/testsuite/tests/typecheck/should_compile/tc074.hs b/testsuite/tests/typecheck/should_compile/tc074.hs
index f455d41b6e..5528fb6b8d 100644
--- a/testsuite/tests/typecheck/should_compile/tc074.hs
+++ b/testsuite/tests/typecheck/should_compile/tc074.hs
@@ -8,11 +8,7 @@ instance (Eq a) => Eq (T a) where
C == C = True
a == b = False
- a /= b = not (a == b)
-
instance (Eq b) => Eq (B b) where
X == X = True
(Y a) == (Y b) = a == b
a == b = False
-
- a /= b = not (a == b)
diff --git a/testsuite/tests/typecheck/should_compile/tc078.stderr b/testsuite/tests/typecheck/should_compile/tc078.stderr
index 453ad780e0..0d43a57fce 100644
--- a/testsuite/tests/typecheck/should_compile/tc078.stderr
+++ b/testsuite/tests/typecheck/should_compile/tc078.stderr
@@ -1,7 +1,7 @@
tc078.hs:9:10: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq (Bar a)’
tc078.hs:10:10: warning: [-Wmissing-methods (in -Wdefault)]
diff --git a/testsuite/tests/typecheck/should_fail/T5051.stderr b/testsuite/tests/typecheck/should_fail/T5051.stderr
index 83a9ac8aef..c8eb059248 100644
--- a/testsuite/tests/typecheck/should_fail/T5051.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5051.stderr
@@ -1,5 +1,5 @@
T5051.hs:8:30: warning: [-Wmissing-methods (in -Wdefault)]
• No explicit implementation for
- either ‘==’ or ‘/=’
+ ‘==’
• In the instance declaration for ‘Eq [T]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail038.stderr b/testsuite/tests/typecheck/should_fail/tcfail038.stderr
index 2d3e9e5bc9..55eeef35c0 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail038.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail038.stderr
@@ -1,10 +1,16 @@
-tcfail038.hs:7:11:
+tcfail038.hs:7:11: error:
Conflicting definitions for ‘==’
Bound at: tcfail038.hs:7:11-12
tcfail038.hs:9:11-12
-tcfail038.hs:8:11:
+tcfail038.hs:8:11: error:
+ ‘/=’ is not a (visible) method of class ‘Eq’
+
+tcfail038.hs:8:11: error:
Conflicting definitions for ‘/=’
Bound at: tcfail038.hs:8:11-12
tcfail038.hs:10:11-12
+
+tcfail038.hs:10:11: error:
+ ‘/=’ is not a (visible) method of class ‘Eq’
diff --git a/utils/haddock b/utils/haddock
-Subproject a0938c6c48ecf8d324b636d178b2139a2d3396f
+Subproject 417c1651de4e42a1bfe04069a4c19250020ce56