summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint/dead-code/self-assign.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/lint/dead-code/self-assign.rs')
-rw-r--r--src/test/ui/lint/dead-code/self-assign.rs52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/test/ui/lint/dead-code/self-assign.rs b/src/test/ui/lint/dead-code/self-assign.rs
deleted file mode 100644
index ea7ce98d8..000000000
--- a/src/test/ui/lint/dead-code/self-assign.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-// Test that dead code warnings are issued for superfluous assignments of
-// fields or variables to themselves (issue #75356).
-
-// ignore-test FIXME(81658, 83171)
-
-// check-pass
-#![allow(unused_assignments)]
-#![warn(dead_code)]
-
-fn main() {
- let mut x = 0;
- x = x;
- //~^ WARNING: useless assignment of variable of type `i32` to itself
-
- x = (x);
- //~^ WARNING: useless assignment of variable of type `i32` to itself
-
- x = {x};
- // block expressions don't count as self-assignments
-
-
- struct S<'a> { f: &'a str }
- let mut s = S { f: "abc" };
- s = s;
- //~^ WARNING: useless assignment of variable of type `S` to itself
-
- s.f = s.f;
- //~^ WARNING: useless assignment of field of type `&str` to itself
-
-
- struct N0 { x: Box<i32> }
- struct N1 { n: N0 }
- struct N2(N1);
- struct N3 { n: N2 };
- let mut n3 = N3 { n: N2(N1 { n: N0 { x: Box::new(42) } }) };
- n3.n.0.n.x = n3.n.0.n.x;
- //~^ WARNING: useless assignment of field of type `Box<i32>` to itself
-
- let mut t = (1, ((2, 3, (4, 5)),));
- t.1.0.2.1 = t.1.0.2.1;
- //~^ WARNING: useless assignment of field of type `i32` to itself
-
-
- let mut y = 0;
- macro_rules! assign_to_y {
- ($cur:expr) => {{
- y = $cur;
- }};
- }
- assign_to_y!(y);
- // self-assignments in macro expansions are not reported either
-}