Skip to content

Offer a weaker name shadowing warning

Suppose I have a module

module Survive where
import HuntGather

flounder = goFishing river
  where
    goFishing = ...

If the maintainer of HuntGather decides to add a goFishing function, my module will suddenly get a name shadowing warning, although there is little risk of confusion. So I think it makes a lot of sense to offer, at least, a version that ignores shadowing of *implicitly imported* names, and to use this for -Wall instead of the current version. Another step down would be to ignore shadowing of all top-level names, but having three levels of name shadowing warning would be too much trouble by far.

Trac metadata
Trac field Value
Version 7.9
Type FeatureRequest
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information