Skip to content

SA4006: Fix for compound operators, increment/decrement#1555

Open
arp242 wants to merge 1 commit intodominikh:masterfrom
arp242:SA4006-op
Open

SA4006: Fix for compound operators, increment/decrement#1555
arp242 wants to merge 1 commit intodominikh:masterfrom
arp242:SA4006-op

Conversation

@arp242
Copy link
Contributor

@arp242 arp242 commented May 31, 2024

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

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 dominikh#1329
@cespare
Copy link

cespare commented Sep 27, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

SA4006: detect unused writes with +=

2 participants