Incorrect "Defined but not used"
This is johndetr@microsoft.com.
When I compile the following function:
150 hexArg :: P Hex
151 hexArg = do MyState i n <- getState
152 let i = i + 1
153 setState (MyState i n)
154 x <- hexNumber
155 if i < n then do { char ','; return () }
156 else do { char ')'; eof }
157 return x
I get the following messages:
Vesta.hs:151:20: Warning: Defined but not used: `i'
Vesta.hs:152:16:
Warning: This binding for `i' shadows an existing
binding
In the binding group for: i
The second is correct, if course, but the first is not.
If I change the new binding to i' instead of i (and the
references below, of course) *both* messages go away!
Please let me know if you'd like more information, a
shorter error case, etc.
Trac metadata
Trac field |
Value |
Version |
6.4 |
Type |
Bug |
TypeOfFailure |
OtherFailure |
Priority |
normal |
Resolution |
ResolvedRejected |
Component |
Compiler |
Test case |
|
Differential revisions |
|
BlockedBy |
|
Related |
|
Blocking |
|
CC |
|
Operating system |
|
Architecture |
|