Open
Description
In Rust issue #28160, Niko shows an example containing the line x += { x = 20; 2 }
, and asks the question what execution order should be used.
I think we should have a lint against those degenerate cases. However, I'm not sure what patterns we should match.
issues left:
- simple cases with one variable
- struct/tuple fields (easy)
- taking a reference to a field stops the lint from checking any further, even if it is dereferenced again (medium)