
#15276: Bogus type in typechecker error recovery
-------------------------------------+-------------------------------------
Reporter: simonpj | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone: 8.6.1
Component: Compiler | Version: 8.4.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
If the typechecker sees
{{{
let f = <rhs> in <body>
}}}
and there's a type error in `<rhs>`, GHC recovers from the error, binds
`f` to "a type that should cause no more trouble", and continues with
`<both>` in the hope of finding more type errors.
What is "a type that should cause no more trouble"? Well `forall a.a`
seems like a good candidate.
But, in this commit
{{{
commit 6746549772c5cc0ac66c0fce562f297f4d4b80a2
Author: Richard Eisenberg