[GHC] #14584: Core Lint error
GHC
ghc-devs at haskell.org
Wed Dec 20 10:21:09 UTC 2017
#14584: Core Lint error
-------------------------------------+-------------------------------------
Reporter: Iceland_jack | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.1
Resolution: | Keywords: TypeInType,
| DeferredTypeErrors
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 simonpj):
...or not. Monoidal's example is amazing. Here's the constraint we get
(before simplifying it):
{{{
simplifyTop {
wanted = WC {wc_impl =
Implic {
TcLevel = 2
Skolems = k_aGF[sk:2] (m_aGG[sk:2] :: k_aGF[sk:2])
No-eqs = False
Status = Unsolved
Given =
Wanted =
WC {wc_simple =
[WD] hole{aGP} {0}:: ((m_aGG[sk:2] |> {aGN})
-> (m_aGG[sk:2] |>
{aGN}) :: *)
GHC.Prim.~# (() :: *)
(CNonCanonical)
wc_impl =
Implic {
TcLevel = 3
Skolems =
No-eqs = False
Status = Unsolved
Given =
Wanted =
WC {wc_simple =
[D] _ {0}:: (m_aGG[sk:2] |> {aGN})
-> (m_aGG[sk:2] |>
{aGN}) (CHoleCan: TypeHole(_))
[WD] hole{aGN} {0}:: (k_aGF[sk:2] ::
*)
GHC.Prim.~# (*
:: *) (CNonCanonical)}
Binds = EvBindsVar<aGO>
Needed = []
the inferred type of <expression>_02y ::
w_aGJ[tau:3] }}
Binds = EvBindsVar<aGQ>
Needed = []
the type signature for:
f :: forall k (m :: k). () }}
}}}
Notice that the coercion `{aGN}` is a Wanted inside the inner implication
constraint, but is used a constraint (for `{aGP}`) outside that
implication. No amount of floating is going to put that right!
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14584#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list