Fix Trac #8485.
authorRichard Eisenberg <eir@cis.upenn.edu>
Tue, 29 Oct 2013 15:13:52 +0000 (11:13 -0400)
committerRichard Eisenberg <eir@cis.upenn.edu>
Tue, 29 Oct 2013 15:13:52 +0000 (11:13 -0400)
commit9366e0191cab2de94f8a8a52decd759d1bf147b7
treed6e557388343657c24880e5e2ac7c682a6c19e7b
parent7cb10ba40e619a0a368571ea8c7a85c1dd34628b
Fix Trac #8485.

The problem was that the renamer treated role annotations by looking
up the annotated type in the module being compiled. If this check
succeeded, it was assumed that the annotated type was being compiled
at the same time. But this assumption is false! In GHCi (and Template
Haskell), sometimes compilation within one module can be staged. So,
now there is a more intricate check for orphan role annotations. This
also has the benefit of producing better error messages.
compiler/rename/RnEnv.lhs
compiler/rename/RnSource.lhs