[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