[GHC] #11882: Use coercionKind instread of zonkTcType in TcFlatten.flatten_tyvar
GHC
ghc-devs at haskell.org
Fri Apr 15 15:13:25 UTC 2016
#11882: Use coercionKind instread of zonkTcType in TcFlatten.flatten_tyvar
-------------------------------------+-------------------------------------
Reporter: simonpj | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
In `TcFlatten.flatten_tyvar3` we had
{{{
; orig_kind <- liftTcS $ zonkTcType kind
-- NB: orig_kind is *not* the kind returned from flatten
-- This zonk is necessary because we might later see the tv's
kind
-- in canEqTyVarTyVar (where we use getCastedTyVar_maybe).
-- If you remove it, then e.g. dependent/should_fail/T11407
panics
-- See also Note [Flattening]
}}}
But in fact the kind of the coercion returned earlier gives the same
information, and turns out to be a little faster.
Plus, I hate calling `zonkTcType` in the constraint solver; it doesn't
"fit" there.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11882>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list