[GHC] #10045: type holes related ghc panic

GHC ghc-devs at haskell.org
Thu Feb 19 01:18:04 UTC 2015


#10045: type holes related ghc panic
-------------------------------------+-------------------------------------
        Reporter:  pacak             |                   Owner:  thomasw
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.10.1-rc2
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash                              |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:  Phab:D646
-------------------------------------+-------------------------------------

Comment (by Austin Seipp <austin@…>):

 In [changeset:"e9d72cefeda243d5962d0615fe7ad22ff615d134/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="e9d72cefeda243d5962d0615fe7ad22ff615d134"
 Fix #10045

 Summary:
 SPJ's solution is to only bring the `TcId` (which includes the type) of a
 binder into scope when it had a non-partial type signature.

 Take care of this by only storing the `TcId` in `TcSigInfo` of non-partial
 type signatures, hence the change to `sig_poly_id :: Maybe TcId`. Only in
 case
 of a `Just` will we bring the `TcId` in scope. We still need to know the
 name
 of the binder, even when it has a partial type signature, so add a
 `sig_name
 :: Name` field. The field `sig_partial :: Bool` is no longer necessary, so
 reimplement `isPartialSig` in terms of `sig_poly_id`.

 Note that the new test case fails, but not because of a panic, but because
 the
 `Num a` constraint is missing. Adding an extra-constraints wildcard to
 `copy`'s signature would fix it.

 Test Plan: validate

 Reviewers: simonpj, austin

 Reviewed By: simonpj

 Subscribers: thomie

 Differential Revision: https://phabricator.haskell.org/D646

 GHC Trac Issues: #10045
 }}}

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


More information about the ghc-tickets mailing list