summaryrefslogtreecommitdiff
path: root/testsuite/tests/rename/should_fail/rnfail055.stderr
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@cs.stanford.edu>2017-01-05 13:52:12 -0800
committerEdward Z. Yang <ezyang@cs.stanford.edu>2017-01-11 06:54:00 -0800
commit5def07fadd386a7a7c3a12963c0736529e377a74 (patch)
tree1b2b5dbde6f6a227c4b2faa777080b4014fc4ee6 /testsuite/tests/rename/should_fail/rnfail055.stderr
parente41c61fa7792d12ac7ffbacda7a5b3ba6ef2a267 (diff)
downloadhaskell-5def07fadd386a7a7c3a12963c0736529e377a74.tar.gz
Revamp Backpack/hs-boot handling of type class signatures.
Summary: A basket of fixes and improvements: - The permissible things that one can write in a type class definition in an hsig file has been reduced to encompass the following things: - Methods - Default method signatures (but NOT implementation) - MINIMAL pragma It is no longer necessary nor encouraged to specify that a method has a default if it is mentioned in a MINIMAL pragma; the MINIMAL pragma is assumed to provide the base truth as to what methods need to be implemented when writing instances of a type class. - Handling of default method signatures in hsig was previously buggy, as these identifiers were not exported, so we now treat them similarly to DFuns. - Default methods are merged, where methods with defaults override those without. - MINIMAL pragmas are merged by ORing together pragmas. - Matching has been relaxed: a method with a default can be used to fill a signature which did not declare the method as having a default, and a more relaxed MINIMAL pragma can be used (we check if the signature pragma implies the final implementation pragma, on the way fixing a bug with BooleanFormula.implies, see #13073) Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate Reviewers: simonpj, bgamari, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2925 GHC Trac Issues: #13041
Diffstat (limited to 'testsuite/tests/rename/should_fail/rnfail055.stderr')
-rw-r--r--testsuite/tests/rename/should_fail/rnfail055.stderr1
1 files changed, 1 insertions, 0 deletions
diff --git a/testsuite/tests/rename/should_fail/rnfail055.stderr b/testsuite/tests/rename/should_fail/rnfail055.stderr
index e7e6a3a817..7fc5d80bad 100644
--- a/testsuite/tests/rename/should_fail/rnfail055.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail055.stderr
@@ -93,6 +93,7 @@ RnFail055.hs-boot:28:1: error:
m2 :: a -> b
{-# MINIMAL m2 #-}
The methods do not match: There are different numbers of methods
+ The MINIMAL pragmas are not compatible
RnFail055.hs-boot:29:1: error:
Class ‘C3’ has conflicting definitions in the module