#10982: Warn about unused pattern variables in type families -------------------------------------+------------------------------------- Reporter: jstolarek | Owner: msosn Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.11 Resolution: fixed | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: | UnusedTyVarWarnings, | UnusedTyVarWarningsNamedWCs Blocked By: | Blocking: Related Tickets: #11098 | Differential Rev(s): Phab:D1576 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"575a98e4d245c1e60526ed6d6711d96cea08e9d2/ghc" 575a98e4/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="575a98e4d245c1e60526ed6d6711d96cea08e9d2" Refactor named wildcards (again) Michal's work on #10982, #11098, refactored the handling of named wildcards by making them more like ordinary type variables. This patch takes the same idea to its logical conclusion, resulting in a much tidier, tighter implementation. Read Note [The wildcard story for types] in HsTypes. Changes: * Named wildcards are ordinary type variables, throughout * HsType no longer has a data constructor for named wildcards (was NamedWildCard in HsWildCardInfo). Named wildcards are simply HsTyVars * Similarly named wildcards disappear from Template Haskell * I refactored RnTypes to avoid polluting LocalRdrEnv with something as narrow as named wildcards. Instead the named wildcard set is carried in RnTyKiEnv. There is a submodule update for Haddock. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10982#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler