[GHC] #15725: Core Lint error: Trans coercion mis-match
GHC
ghc-devs at haskell.org
Wed Oct 10 14:49:37 UTC 2018
#15725: Core Lint error: Trans coercion mis-match
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: patch
Priority: normal | Milestone: 8.8.1
Component: Compiler | Version: 8.6.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: #15703 | Differential Rev(s): Phab:D5217
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by RyanGlScott):
Thanks for your tireless efforts to minimize these bugs, monoidal. They're
very much appreciated.
In this particular example, I think you might have minimized it too well!
That's because that program trips up Core Lint even with the patch in
Phab:D5217. In fact, I think this program has an entirely different bug
from the one described in this ticket.
Here is the Core Lint error for your program:
{{{
*** Core Lint errors : in result of Simplifier ***
Bug.hs:25:1: warning:
[in body of lambda with binder x_a19R :: Identity a_a19Q]
Kind application error in
coercion ‘(Sing
(D:R:Rep1Identity[0] <a_a19Q>_N) <From1 x_a19R>_N)_R’
Function kind = forall k. k -> *
Arg kinds = [(Par1 a_a19Q, *),
(From1 x_a19R, Rep1 Identity a_a19Q)]
Fun: Par1 a_a19Q
(From1 x_a19R, Rep1 Identity a_a19Q)
Bug.hs:25:1: warning:
[in body of lambda with binder x_a19R :: Identity a_a19Q]
Kind application error in
coercion ‘D:R:Singk0[0] <Par1 a_a19Q>_N <From1 x_a19R>_N’
Function kind = Par1 a_a19Q -> *
Arg kinds = [(From1 x_a19R, Rep1 Identity a_a19Q)]
Fun: Par1 a_a19Q
(From1 x_a19R, Rep1 Identity a_a19Q)
Bug.hs:25:1: warning:
[in body of lambda with binder x_a19R :: Identity a_a19Q]
Kind application error in
coercion ‘D:R:Singk0[0] <Par1 a_a19Q>_N <From1 x_a19R>_N’
Function kind = Par1 a_a19Q -> *
Arg kinds = [(From1 x_a19R, Rep1 Identity a_a19Q)]
Fun: Par1 a_a19Q
(From1 x_a19R, Rep1 Identity a_a19Q)
<no location info>: warning:
In the type ‘R:Singk (Par1 a_a19Q) (From1 x_a19R)’
Kind application error in
type ‘R:Singk (Par1 a_a19Q) (From1 x_a19R)’
Function kind = forall k -> k -> *
Arg kinds = [(Par1 a_a19Q, *),
(From1 x_a19R, Rep1 Identity a_a19Q)]
Fun: Par1 a_a19Q
(From1 x_a19R, Rep1 Identity a_a19Q)
<no location info>: warning:
In the type ‘R:Singk (Par1 a_a19Q) (From1 x_a19R)’
Kind application error in
type ‘R:Singk (Par1 a_a19Q) (From1 x_a19R)’
Function kind = forall k -> k -> *
Arg kinds = [(Par1 a_a19Q, *),
(From1 x_a19R, Rep1 Identity a_a19Q)]
Fun: Par1 a_a19Q
(From1 x_a19R, Rep1 Identity a_a19Q)
}}}
My suspicion is that this program suffers from the same problems that
afflict the program in #15549, since (1) the errors look very similar, and
(2) `seq` is being used here, and I identified the `improveSeq` function
as being responsible for an incorrect optimization in #15549. I'll put
this program over in that ticket as another test case.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15725#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list