summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/T9692.hs
Commit message (Collapse)AuthorAgeFilesLines
* Tighten checking for associated type instancesSimon Peyton Jones2016-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch finishes off Trac #11450. Following debate on that ticket, the patch tightens up the rules for what the instances of an associated type can look like. Now they must match the instance header exactly. Eg class C a b where type T a x b With this class decl, if we have an instance decl instance C ty1 ty2 where ... then the type instance must look like type T ty1 v ty2 = ... with exactly - 'ty1' for 'a' - 'ty2' for 'b', and - a variable for 'x' For example: instance C [p] Int type T [p] y Int = (p,y,y) Previously we allowed multiple instance equations and now, in effect, we don't since they would all overlap. If you want multiple cases, use an auxiliary type family. This is consistent with the treatment of generic-default instances, and the user manual always said "WARNING: this facility (multiple instance equations may be withdrawn in the future". I also improved error messages, and did other minor refactoring.
* Add forgotten import to T9692Joachim Breitner2014-10-221-0/+1
| | | | (sorry)
* Flush stdout in T9692Joachim Breitner2014-10-221-0/+1
|
* Test #9692 in th/T9692Richard Eisenberg2014-10-211-0/+17