summaryrefslogtreecommitdiff
path: root/testsuite/tests/gadt/CasePrune.stderr
Commit message (Collapse)AuthorAgeFilesLines
* Remove some horrible munging of origins for CoercibleSimon Peyton Jones2015-06-181-4/+3
| | | | | | | | | | | | | | | | | | | | I just didn't think it was buying enough for all the cruft it caused. We can put some back if people start complaining about poor error messages. I forget quite how I tripped over this but I got sucked in. * Lots of tidying up in TcErrors * Rename pprArisingAt to pprCtLoc, by analogy with pprCtOrigin * Remove CoercibleOrigin data constructor from CtOrigin * Make relevantBindings return a Ct with a zonked and tidied CtOrigin * Add to TcRnTypes ctOrigin :: Ct -> CtOrigin ctEvOrigin :: CtEvidence -> CtOrigin setCtLoc :: Ct -> CtLoc -> Ct
* Rewrite `Coercible` solverRichard Eisenberg2014-12-121-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is a rewrite of the algorithm to solve for Coercible "instances". A preliminary form of these ideas is at https://ghc.haskell.org/trac/ghc/wiki/Design/NewCoercibleSolver The basic idea here is that the `EqPred` constructor of `PredTree` now is parameterised by a new type `EqRel` (where `data EqRel = NomEq | ReprEq`). Thus, every equality constraint can now talk about nominal equality (the usual case) or representational equality (the `Coercible` case). This is a change from the previous behavior where `Coercible` was just considered a regular class with a special case in `matchClassInst`. Because of this change, representational equalities are now canonicalized just like nominal ones, allowing more equalities to be solved -- in particular, the case at the top of #9117. A knock-on effect is that the flattener must be aware of the choice of equality relation, because the inert set now stores both representational inert equalities alongside the nominal inert equalities. Of course, we can use representational equalities to rewrite only within another representational equality -- thus the parameterization of the flattener. A nice side effect of this change is that I've introduced a new type `CtFlavour`, which tracks G vs. W vs. D, removing some ugliness in the flattener. This commit includes some refactoring as discussed on D546. It also removes the ability of Deriveds to rewrite Deriveds. This fixes bugs #9117 and #8984. Reviewers: simonpj, austin, nomeata Subscribers: carter, thomie Differential Revision: https://phabricator.haskell.org/D546 GHC Trac Issues: #9117, #8984
* Use U+2018 instead of U+201B quote mark in compiler messagesHerbert Valerio Riedel2014-02-251-5/+5
| | | | | | | This matches GCC's choice of Unicode quotation marks (i.e. U+2018 and U+2019) and therefore looks more familiar on the console. This addresses #2507. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Update output: More elaborate GND error messagesJoachim Breitner2013-12-041-1/+2
|
* Update testsuite for nicer Coercible messageJoachim Breitner2013-12-021-5/+6
|
* Coercible-base GND: update error messagesJoachim Breitner2013-11-221-5/+7
| | | | | (unfortunately, not to the better, these might need some more massaging.)
* Update tests to reflect new check for GeneralizedNewtypeDerivingRichard Eisenberg2013-10-231-1/+1
|
* Wibble to output from change in roles error messagesRichard Eisenberg2013-08-271-1/+1
|
* Add tests for roles.Richard Eisenberg2013-08-021-0/+7
Many of the files modified are just wibbles to output, because now tycons have roles attached to them, which are produced in the debugging dumps.