Improve error messages for skolems
[ghc.git] / testsuite / tests / typecheck / should_fail / tcfail067.stderr
1
2 tcfail067.hs:1:14: warning:
3     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
4
5 tcfail067.hs:12:16: error:
6     • No instance for (Ord a) arising from a use of ‘SubRange’
7       Possible fix:
8         add (Ord a) to the context of
9           the type signature for:
10             subRangeValue :: forall a. SubRange a -> a
11     • In the pattern: SubRange (lower, upper) value
12       In an equation for ‘subRangeValue’:
13           subRangeValue (SubRange (lower, upper) value) = value
14
15 tcfail067.hs:15:11: error:
16     • No instance for (Ord a) arising from a use of ‘SubRange’
17       Possible fix:
18         add (Ord a) to the context of
19           the type signature for:
20             subRange :: forall a. SubRange a -> (a, a)
21     • In the pattern: SubRange r value
22       In an equation for ‘subRange’: subRange (SubRange r value) = r
23
24 tcfail067.hs:46:12: error:
25     • Could not deduce (Ord a) arising from a use of ‘SubRange’
26       from the context: Show a
27         bound by the type signature for:
28                    showRange :: forall a. Show a => SubRange a -> String
29         at tcfail067.hs:45:1-43
30       Possible fix:
31         add (Ord a) to the context of
32           the type signature for:
33             showRange :: forall a. Show a => SubRange a -> String
34     • In the pattern: SubRange (lower, upper) value
35       In an equation for ‘showRange’:
36           showRange (SubRange (lower, upper) value)
37             = show value ++ " :" ++ show lower ++ ".." ++ show upper
38
39 tcfail067.hs:61:12: error:
40     • Could not deduce (Ord a)
41         arising from a use of ‘numSubRangeNegate’
42       from the context: Num a
43         bound by the instance declaration at tcfail067.hs:60:10-34
44       Possible fix:
45         add (Ord a) to the context of the instance declaration
46     • In the expression: numSubRangeNegate
47       In an equation for ‘negate’: negate = numSubRangeNegate
48       In the instance declaration for ‘Num (SubRange a)’
49
50 tcfail067.hs:65:19: error:
51     • Could not deduce (Ord a) arising from a use of ‘SubRange’
52       from the context: Num a
53         bound by the instance declaration at tcfail067.hs:60:10-34
54       Possible fix:
55         add (Ord a) to the context of the instance declaration
56     • In the expression:
57         SubRange (fromInteger a, fromInteger a) (fromInteger a)
58       In an equation for ‘fromInteger’:
59           fromInteger a
60             = SubRange (fromInteger a, fromInteger a) (fromInteger a)
61       In the instance declaration for ‘Num (SubRange a)’
62
63 tcfail067.hs:74:5: error:
64     • Could not deduce (Ord a) arising from a use of ‘SubRange’
65       from the context: Num a
66         bound by the type signature for:
67                    numSubRangeBinOp :: forall a.
68                                        Num a =>
69                                        (a -> a -> a) -> SubRange a -> SubRange a -> SubRange a
70         at tcfail067.hs:(71,1)-(72,58)
71       Possible fix:
72         add (Ord a) to the context of
73           the type signature for:
74             numSubRangeBinOp :: forall a.
75                                 Num a =>
76                                 (a -> a -> a) -> SubRange a -> SubRange a -> SubRange a
77     • In the expression: SubRange (result, result) result
78       In an equation for ‘numSubRangeBinOp’:
79           numSubRangeBinOp op a b
80             = SubRange (result, result) result
81             where
82                 result = (subRangeValue a) `op` (subRangeValue b)