Open arp242 opened 4 months ago
Thanks for implementing this @arp242! I skimmed the code and it makes sense to me, but I'm not too familiar with staticcheck internals since all my tools are built on top of the x/tools code.
I ran this over a large code base and it worked fine and flagged one new unused write (thanks!).
I tried running it against another instance of this bug that I found in a code review recently and it wasn't flagged by this code. But after some digging I see that it's a general shortcoming of the SA4006 implementation, not this PR; I filed #1609.
Hopefully this can be incorporated into staticcheck soon.
In the case of compound operators such as +=, -=, etc we need to use the left-hand side to get the value.
For IncDec we need a different codepath from AssignStmt altogether.
Fixes #1329