
#12615: Record pattern synonyms cause spurious name shadowing warnings -------------------------------------+------------------------------------- Reporter: gelisam | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- The example given in the [https://downloads.haskell.org/~ghc/8.0.1/docs/html/users_guide/glasgow_exts.... #record-pattern-synonyms documentation] gives a warning when compiled with `-Wall`: {{{#!hs {-# LANGUAGE PatternSynonyms #-} {-# OPTIONS_GHC -Wall #-} module Test where -- Test.hs:13:24: warning: [-Wname-shadowing] -- This binding for ‘x’ shadows the existing binding -- defined at Test.hs:13:15 -- -- Test.hs:13:27: warning: [-Wname-shadowing] -- This binding for ‘y’ shadows the existing binding -- defined at Test.hs:13:18 pattern Point :: Int -> Int -> (Int, Int) pattern Point{x, y} = (x, y) }}} I don't see anything being shadowed here, so I don't think GHC should produce these warnings. Also, the type signature for that example in the documentation is `pattern Point :: (Int, Int)`, which doesn't compile. Should I file a separate bug for that? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12615 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler