[GHC] #8569: ASSERT in testcase type-rep, only in some ways:

GHC ghc-devs at haskell.org
Fri Nov 29 10:45:15 UTC 2013


#8569: ASSERT in testcase type-rep, only in some ways:
-------------------------------------+------------------------------------
        Reporter:  nomeata           |            Owner:
            Type:  bug               |           Status:  new
        Priority:  normal            |        Milestone:
       Component:  Test Suite        |          Version:  7.7
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Unknown
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by nomeata):

 Here we go:
 {{{
 dmdAnal:Case2
     scrut ds_dBX{v} [lid]
     scrut_ty DmdType {dBX-><S,1*U>}
     alt_tys [DmdType {aqq-><S,1*U(U)>}, DmdType {aqq-><L,U>}]
     alt_ty DmdType {aqq-><L,U(U)>}
     res_ty DmdType {aqq-><L,U(U)> dBX-><S,1*U>}
 }}}

 If I read this correct, in human terms, this tell me
 “The first case branch will use `aqq` (=`n`) at most once, and will take
 the box apart and use what’s inside, while do not know anything about how
 the right case branch uses `n`. The scrutinee does not talk about `n` at
 all. Therefore, the whole expression uses `n` in an unknown number of
 times, and also uses what’s inside”.

 This sounds wrong to me (but I’m not firm on reading demand signatures
 yet).

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


More information about the ghc-tickets mailing list