#5288: Less noisy version of -fwarn-name-shadowing
---------------------------------+------------------------------------------
Reporter: batterseapower | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.0.3
Keywords: | Testcase:
Blockedby: | Difficulty:
Os: Unknown/Multiple | Blocking:
Architecture: Unknown/Multiple | Failure: None/Unknown
---------------------------------+------------------------------------------
Comment(by batterseapower):
My thinking is that when I write:
{{{
foo rn = ... rn ...
where
rn = ... rn ...
}}}
My intention is almost invariably to bind a slightly-modified version of
rn. However, in the code above I have made a mistake and reused the old
name for the new version. What I should have written was:
{{{
foo rn = ... rn' ...
where
rn' = ... rn ...
}}}
The fact that the "rn = ... rn ..." binding shadowed an existing binding
called rn is the clue that I was trying to slightly-modify an existing
binding. I don't want to warn if "rn = ... rn ..." does not cause any
shadowing because no such clue exists.
Does that make more sense?
I used to write programs with this error at the rate of perhaps 1 program
per 20 hours of coding, but I'm getting better at avoiding it.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5288#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs