"Iface type variable out of scope" when compiling with -c
Take these two files:
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeFamilies #-}
module Foo where
import GHC.Generics
type FakeOut a = Int
data family TyFamily y z
data instance TyFamily a b = TyFamily Int (FakeOut b)
deriving Generic1
module Bar where
import Foo
import GHC.Generics
main :: IO ()
main = print $ from1 $ TyFamily 1 2
And compile them like so:
$ ghc -c Foo.hs
$ ghc -c Bar.hs
./Foo.hi
Declaration for Rep1_R:TyFamilyab
Axiom branches Rep1_R:TyFamilyab:
Iface type variable out of scope: b
Cannot continue after interface file error
I can reproduce this with every version of GHC from 7.8.4 onward, so this is quite an old bug!
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.4.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |