One-shot module loops have hard to understand messages
Consider these two modules:
-- A.hs
module A where
-- B.hs
module B where
import A
ghc --make B.hs
will compile this fine. Now edit A.hs
to be circular:
-- A.hs
module A where
import B
and attempt to one-shot compile it with ghc -c A.hs
. You will now get an uninformative error message:
A.hs:1:1: Circular imports: module `A' depends on itself
You can get a more informative message with --make
:
Module imports form a cycle:
module `A' (A.hs)
imports `B' (./B.hs)
which imports `A' (A.hs)
We should either suggest users try again with --make
, or try harder to give a useful message in one-shot mode.
Trac metadata
Trac field | Value |
---|---|
Version | 7.11 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |