[GHC] #12826: TyVar ASSERT failure in type family checking: T12041

GHC ghc-devs at haskell.org
Fri Nov 25 11:30:26 UTC 2016


#12826: TyVar ASSERT failure in type family checking: T12041
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"18d0bdd3848201882bae167e3b15fd797d217e93/ghc"
 18d0bdd3/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="18d0bdd3848201882bae167e3b15fd797d217e93"
 Allow TyVars in TcTypes

 Up to now we've had a rule that a TyVar can't apppear in a type
 seen by the type checker; they should all be TcTyVars.  But:

 a) With -XTypeInType it becomes much harder to exclude them;
    see Note [TcTyVars in the typechecker] in TcType.

 b) It's unnecessary to exculde them; instead we can just treat
    a TyVar just like vanillaSkolemTv.

 This is what was causing an ASSERT error in
 indexed-types/should_fail/T12041, reported in Trac #12826.

 That patch allows a TyVar in a TcType.  The most significant
 change is to make Var.tcTyVarDetails return vanillaSkolemTv.
 In fact it already did, but (a) it was not documented, and
 (b) we never exploited it.  Now we rely on it.
 }}}

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


More information about the ghc-tickets mailing list