[GHC] #12615: Record pattern synonyms cause spurious name shadowing warnings
GHC
ghc-devs at haskell.org
Sat Sep 24 16:15:09 UTC 2016
#12615: Record pattern synonyms cause spurious name shadowing warnings
-------------------------------------+-------------------------------------
Reporter: gelisam | Owner: mpickering
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
Resolution: | Keywords:
| PatternSynonyms
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 mpickering):
This isn't actually a problem with record pattern synonyms per se but
something that is exposed by them.
You can also trigger the problem with
{{{#!hs
{-# LANGUAGE NoImplicitPrelude, PatternSynonyms #-}
{-# OPTIONS_GHC -Wall #-}
module Test where
x = ()
pattern Point2 :: () -> () -> ((), ())
pattern Point2 x y = (x, y)
}}}
This is because the way checking for shadowed names works assumes that all
patterns are introducing binders. Clearly in the case of pattern synonyms
this assumption fails so we need to refine this check.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12615#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list