[GHC] #10934: Iface type variable out of scope

GHC ghc-devs at haskell.org
Tue Oct 6 00:17:13 UTC 2015


#10934: Iface type variable out of scope
-------------------------------------+-------------------------------------
        Reporter:  mjmrotek          |                Owner:
            Type:  bug               |               Status:  new
        Priority:  high              |            Milestone:
       Component:  Compiler          |              Version:  7.10.2
      Resolution:                    |             Keywords:  interface
Operating System:  Linux             |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash                              |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
-------------------------------------+-------------------------------------
Changes (by thomie):

 * priority:  normal => high


Comment:

 Reproducible with HEAD (ghc-7.11.20151002), see attachments. The cabal
 file doesn't pull in any dependencies.

 {{{
 $ cabal configure
 ...

 $ cabal build
 Building keyvalue-0.0.0.0...
 Preprocessing library keyvalue-0.0.0.0...
 [1 of 2] Compiling Vinyl            ( Vinyl.hs, dist/build/Vinyl.o )
 [2 of 2] Compiling KeyValue         ( KeyValue.hs, dist/build/KeyValue.o )
 In-place registering keyvalue-0.0.0.0...

 $ ghc -package-db dist/package.conf.inplace -O -fforce-recomp -c T10934.hs
 /home/thomas/T10934/dist/build/KeyValue.hi
 Declaration for missing1:
   Iface type variable out of scope:  k
 Cannot continue after interface file error
 }}}

 Note that the cabal build step is needed to trigger the bug. Running `ghc
 --make -O -outputdir=/tmp -fforce-recomp T10934.hs` works fine.

 Compiling `KeyValue.hs` with `-dcore-lint` results in Core Lint errors:
 {{{
 $ ghc -O -outputdir=/tmp -dcore-lint -fforce-recomp KeyValue.hs
 [1 of 2] Compiling Vinyl            ( Vinyl.hs, /tmp/Vinyl.o )
 [2 of 2] Compiling KeyValue         ( KeyValue.hs, /tmp/KeyValue.o )
 *** Core Lint errors : in result of Simplifier ***
 KeyValue.hs:20:19: Warning:
     [in body of lambda with binder f_aBJ :: k_aBI -> *]
     @ (k_aBI :: BOX) is out of scope
 }}}

 Commenting out the `PolyKinds` extension in `KeyValue.hs` makes the bug go
 away.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10934#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list