DisambiguateRecordFields with qualified import can cause panic
When I'm using DisambiguateRecordFields with GHC 7.2.1 RC1 (7.2.0.20110728), I encounter panic.
module M where
data S = MkS { x :: Int, y :: Bool }
{-# LANGUAGE DisambiguateRecordFields #-}
module Foo where
import qualified M
notScope (MkS { x = n }) = n
This code causes panic when using GHC 7.2.1 RC1, and GHC 7.3.20110802.
(snip)
[1 of 2] Compiling M ( M.hs, interpreted )
[2 of 2] Compiling Foo ( Test.hs, interpreted )
ghc.exe: panic! (the 'impossible' happened)
(GHC version 7.3.20110802 for i386-unknown-mingw32):
find_tycon
MkS{d 02A}
[]
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
>
This problem is caused by using DisambiguateRecordFields extention. When I remove DisambiguateRecordFields extention from Foo module, GHC doesn't cause panic.
module Foo where
import qualified M
notScope (MkS { x = n }) = n
> :r
[2 of 2] Compiling Foo ( Test.hs, interpreted )
Test.hs:4:11:
Not in scope: data constructor `MkS'
Perhaps you meant `M.MkS' (imported from M)
Test.hs:4:17: `x' is not a (visible) field of constructor `MkS'
Failed, modules loaded: M.
*M>
GHC 7.0.4 doesn't cause panic even though using DisambiguateRecordFields extention.
[1 of 2] Compiling M ( M.hs, interpreted )
[2 of 2] Compiling Foo ( Test.hs, interpreted )
Test.hs:4:11: Not in scope: data constructor `MkS'
Test.hs:4:17: `x' is not a (visible) field of constructor `MkS'
Failed, modules loaded: M.
So, I think this problem comes from 5d89565b .
Trac metadata
Trac field | Value |
---|---|
Version | 7.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |