summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_fail/T5095.stderr
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2015-09-02 14:05:36 +0200
committerBen Gamari <bgamari.foss@gmail.com>2015-09-02 09:11:51 -0400
commit28ac9d31bcabeb44496c0e1750563f3091c62da9 (patch)
tree427a29e1beca0ee3fee7a1bc825bb5fa2fa03dae /testsuite/tests/typecheck/should_fail/T5095.stderr
parentc8f623e305ec0a51ac2406a1f754d244e05b96f5 (diff)
downloadhaskell-28ac9d31bcabeb44496c0e1750563f3091c62da9.tar.gz
Improve the error messages for class instance errors
Summary: See Note [Displaying potential instances]. Reviewers: austin Subscribers: KaneTW, thomie Differential Revision: https://phabricator.haskell.org/D1176
Diffstat (limited to 'testsuite/tests/typecheck/should_fail/T5095.stderr')
-rw-r--r--testsuite/tests/typecheck/should_fail/T5095.stderr78
1 files changed, 5 insertions, 73 deletions
diff --git a/testsuite/tests/typecheck/should_fail/T5095.stderr b/testsuite/tests/typecheck/should_fail/T5095.stderr
index 0cf88546a0..46667fb8f4 100644
--- a/testsuite/tests/typecheck/should_fail/T5095.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5095.stderr
@@ -1,82 +1,14 @@
-T5095.hs:9:11:
+T5095.hs:9:11: error:
Overlapping instances for Eq a arising from a use of ‘==’
Matching instances:
instance [overlappable] Show a => Eq a -- Defined at T5095.hs:5:31
- instance Eq a => Eq (Maybe a) -- Defined in ‘GHC.Base’
- instance Eq () -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b) => Eq (a, b) -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) =>
- Eq (a, b, c, d, e, f)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) =>
- Eq (a, b, c, d, e, f, g)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h) =>
- Eq (a, b, c, d, e, f, g, h)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i) =>
- Eq (a, b, c, d, e, f, g, h, i)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
- Eq j) =>
- Eq (a, b, c, d, e, f, g, h, i, j)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
- Eq j, Eq k) =>
- Eq (a, b, c, d, e, f, g, h, i, j, k)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
- Eq j, Eq k, Eq l) =>
- Eq (a, b, c, d, e, f, g, h, i, j, k, l)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
- Eq j, Eq k, Eq l, Eq m) =>
- Eq (a, b, c, d, e, f, g, h, i, j, k, l, m)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
- Eq j, Eq k, Eq l, Eq m, Eq n) =>
- Eq (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
- -- Defined in ‘GHC.Classes’
- instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
- Eq j, Eq k, Eq l, Eq m, Eq n, Eq o) =>
- Eq (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
- -- Defined in ‘GHC.Classes’
- instance Eq Bool -- Defined in ‘GHC.Classes’
- instance Eq Char -- Defined in ‘GHC.Classes’
- instance Eq Double -- Defined in ‘GHC.Classes’
- instance Eq Float -- Defined in ‘GHC.Classes’
- instance Eq Int -- Defined in ‘GHC.Classes’
- instance Eq Ordering -- Defined in ‘GHC.Classes’
- instance Eq Word -- Defined in ‘GHC.Classes’
- instance Eq a => Eq [a] -- Defined in ‘GHC.Classes’
- instance Eq integer-gmp-1.0.0.0:GHC.Integer.Type.BigNat
- -- Defined in ‘integer-gmp-1.0.0.0:GHC.Integer.Type’
- instance Eq Integer
- -- Defined in ‘integer-gmp-1.0.0.0:GHC.Integer.Type’
- instance Eq All -- Defined in ‘Data.Monoid’
- instance forall (k :: BOX) (f :: k -> *) (a :: k).
- Eq (f a) =>
- Eq (Alt f a)
- -- Defined in ‘Data.Monoid’
- instance Eq Any -- Defined in ‘Data.Monoid’
- instance Eq a => Eq (Dual a) -- Defined in ‘Data.Monoid’
- instance Eq a => Eq (First a) -- Defined in ‘Data.Monoid’
- instance Eq a => Eq (Last a) -- Defined in ‘Data.Monoid’
- instance Eq a => Eq (Product a) -- Defined in ‘Data.Monoid’
- instance Eq a => Eq (Sum a) -- Defined in ‘Data.Monoid’
- instance forall (k :: BOX) (s :: k). Eq (Proxy s)
- -- Defined in ‘Data.Proxy’
instance (Eq a, Eq b) => Eq (Either a b)
-- Defined in ‘Data.Either’
- instance (Ix i, Eq e) => Eq (Array i e) -- Defined in ‘GHC.Arr’
- instance Eq (STArray s i e) -- Defined in ‘GHC.Arr’
+ instance Eq All -- Defined in ‘Data.Monoid’
+ ...plus 35 others
+ ...plus one instance involving out-of-scope types
+ (use -fprint-potential-instances to see them all)
(The choice depends on the instantiation of ‘a’
To pick the first instance above, use IncoherentInstances
when compiling the other instance declarations)