[GHC] #13594: Typechecker behavior w.r.t. BangPatterns and nested foralls has changed in 8.2
GHC
ghc-devs at haskell.org
Fri Jul 28 12:24:23 UTC 2017
#13594: Typechecker behavior w.r.t. BangPatterns and nested foralls has changed in
8.2
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: bgamari
Type: bug | Status: closed
Priority: high | Milestone: 8.2.1
Component: Compiler (Type | Version: 8.2.1-rc2
checker) | Keywords: BangPatterns,
Resolution: fixed | RankNTypes
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D3661
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Hmm. In `Match.hs` this patch did
{{{
- ; let upats = map (unLoc . decideBangHood dflags) pats
+ ; let add_bang
+ | FunRhs {mc_strictness=SrcStrict} <- ctx
+ = pprTrace "addBang" empty addBang
+ | otherwise
+ = decideBangHood dflags
+ upats = map (unLoc . add_bang) pats
}}}
I don't think that's right.
I claim the if `mc_strictness` is True then `pats` is empty, so this
change is a no-op. Do you agree?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13594#comment:22>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list