[GHC] #14086: Empty case does not detect kinds

GHC ghc-devs at haskell.org
Sat Aug 12 20:18:17 UTC 2017


#14086: Empty case does not detect kinds
-------------------------------------+-------------------------------------
        Reporter:  dfeuer            |                Owner:  (none)
            Type:  bug               |               Status:  closed
        Priority:  low               |            Milestone:  8.4.1
       Component:  Compiler (Type    |              Version:  8.2.1
  checker)                           |
      Resolution:  fixed             |             Keywords:  TypeInType
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  Incorrect         |            Test Case:
  error/warning at compile-time      |  pmcheck/should_compile/T14086
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D3819
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Ryan Scott <ryan.gl.scott@…>):

 In [changeset:"4f1f9868ae79b5730c6aa14b05394d3f1d10a857/ghc"
 4f1f9868/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="4f1f9868ae79b5730c6aa14b05394d3f1d10a857"
 Change isClosedAlgType to be TYPE-aware, and rename it to pmIsClosedType

 Summary:
 In a267580e4ab37115dcc33f3b8a9af67b9364da12, I somewhat awkwardly
 inserted a special case for `TYPE` in the `EmptyCase` coverage checker.
 Instead of placing it there, @mpickering noted that `isClosedAlgType`
 would
 be a better fit for it. I do just that in this patch.

 I also renamed `isClosedAlgType` to `pmIsClosedType`, reflecting the fact
 that
 `TYPE` technically isn't an algebraic type (it's a primitive one), and
 that its
 behavior is pattern-match coverage checking-oriented. I also moved it to
 `Check`, which is a better home for this function than `Type`. Luckily,
 the only call sites for `isClosedAlgType` were in the pattern-match
 coverage
 checker anyways, so this change is simple enough.

 Test Plan: ./validate

 Reviewers: mpickering, austin, goldfire, bgamari

 Reviewed By: goldfire

 Subscribers: rwbarton, thomie, mpickering

 GHC Trac Issues: #14086

 Differential Revision: https://phabricator.haskell.org/D3830
 }}}

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


More information about the ghc-tickets mailing list