#959: Debugging info(?) leaks out: "Urk! Inventing strangely-kinded void TyCon"
----------------------------------------+-----------------------------------
Reporter: igloo | Owner:
Type: bug | Status: closed
Priority: normal | Milestone: _|_
Component: Compiler (Type checker) | Version: 6.6
Severity: minor | Resolution: fixed
Keywords: | Difficulty: Unknown
Testcase: tcfail188 | Os: Unknown/Multiple
Architecture: Unknown/Multiple |
----------------------------------------+-----------------------------------
Changes (by simonpj):
* status: new => closed
* cc: [email protected] (added)
* resolution: => fixed
Comment:
I finally got around to fixing this
{{{
Thu Oct 15 13:28:10 BST 2009 [email protected]
* Fix Trac #959: a long-standing bug in instantiating
otherwise-unbound type variables
DO NOT MERGE TO GHC 6.12 branch
(Reason: interface file format change.)
The typechecker needs to instantiate otherwise-unconstraint type
variables to
an appropriately-kinded constant type, but we didn't have a supply of
arbitrarily-kinded tycons for this purpose. Now we do.
The details are described in Note [Any types] in TysPrim. The
fundamental change is that there is a new sort of TyCon, namely
AnyTyCon, defined in TyCon.
There's a small change to interface-file binary format, because the new
AnyTyCons have to be serialised.
I tided up the handling of uniques a bit too, so that mkUnique is not
exported, so that we can see all the different name spaces in one
module.
M ./compiler/basicTypes/OccName.lhs -10 +11
M ./compiler/basicTypes/Unique.lhs -4 +20
M ./compiler/deSugar/DsBinds.lhs -25 +23
M ./compiler/iface/BinIface.hs -1 +5
M ./compiler/iface/IfaceType.lhs -11 +22
M ./compiler/iface/TcIface.lhs +3
M ./compiler/nativeGen/Reg.hs -2 +2
M ./compiler/nativeGen/RegAlloc/Graph/ArchBase.hs -2 +2
M ./compiler/nativeGen/RegAlloc/Graph/SpillClean.hs -3 +3
M ./compiler/nativeGen/RegClass.hs -3 +3
M ./compiler/prelude/PrelNames.lhs -5 +3
M ./compiler/prelude/TysPrim.lhs -56 +120
M ./compiler/prelude/TysWiredIn.lhs -4 +2
M ./compiler/stgSyn/CoreToStg.lhs -1 +1
M ./compiler/typecheck/TcHsSyn.lhs -75 +1
M ./compiler/types/TyCon.lhs -16 +44
M ./compiler/types/TypeRep.lhs -8 +5
M ./compiler/vectorise/VectUtils.hs -1 +1
}}}
'''IAN''': Don't merge to the 6.12 branch, because it changes interface
file formats slightly.
tcfail188 now compiles ok.
'''BEN''': as part of the `mkUnique` tidy-up I moved a few lines from
`nativeGen` to `Unique`. Can you just review the patch (the bits
affecting nativeGen are only a few lines) to check it's ok. It seems to
validate.
Simon
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/959#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs