diff options
| author | Ulrik Sverdrup <bluss@users.noreply.github.com> | 2016-03-04 22:52:34 +0100 |
|---|---|---|
| committer | Ulrik Sverdrup <bluss@users.noreply.github.com> | 2016-03-04 22:52:34 +0100 |
| commit | cfe4efd0523cd8106b20ba732f7d7677548f8157 (patch) | |
| tree | 3d526efa497ab2f45b7403c2369a0dbcdd84a2e6 /src/test | |
| parent | d5b6599ab64b2e44d2fe13eea884e2369ffdaa47 (diff) | |
Do not trigger unused_variables lint for variable modified through AddAssign
Visit an overloaded += like a method call and not like an assignment.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/liveness-unused.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/compile-fail/liveness-unused.rs b/src/test/compile-fail/liveness-unused.rs index ddc120b8646..3aab953eb79 100644 --- a/src/test/compile-fail/liveness-unused.rs +++ b/src/test/compile-fail/liveness-unused.rs @@ -127,5 +127,24 @@ fn f6() { }) += 1; } + +struct MutRef<'a>(&'a mut i32); + +impl<'a> AddAssign<i32> for MutRef<'a> { + fn add_assign(&mut self, rhs: i32) { + *self.0 += rhs; + } +} + +fn f7() { + let mut a = 1; + { + // `b` does not trigger unused_variables + let mut b = MutRef(&mut a); + b += 1; + } + drop(a); +} + fn main() { } |
