diff options
Diffstat (limited to 'src/test/ui/derives/clone-debug-dead-code.rs')
-rw-r--r-- | src/test/ui/derives/clone-debug-dead-code.rs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/test/ui/derives/clone-debug-dead-code.rs b/src/test/ui/derives/clone-debug-dead-code.rs deleted file mode 100644 index ab49260c0..000000000 --- a/src/test/ui/derives/clone-debug-dead-code.rs +++ /dev/null @@ -1,45 +0,0 @@ -// Checks that derived implementations of Clone and Debug do not -// contribute to dead code analysis (issue #84647). - -#![forbid(dead_code)] - -struct A { f: () } -//~^ ERROR: field `f` is never read - -#[derive(Clone)] -struct B { f: () } -//~^ ERROR: field `f` is never read - -#[derive(Debug)] -struct C { f: () } -//~^ ERROR: field `f` is never read - -#[derive(Debug,Clone)] -struct D { f: () } -//~^ ERROR: field `f` is never read - -struct E { f: () } -//~^ ERROR: field `f` is never read -// Custom impl, still doesn't read f -impl Clone for E { - fn clone(&self) -> Self { - Self { f: () } - } -} - -struct F { f: () } -// Custom impl that actually reads f -impl Clone for F { - fn clone(&self) -> Self { - Self { f: self.f } - } -} - -fn main() { - let _ = A { f: () }; - let _ = B { f: () }; - let _ = C { f: () }; - let _ = D { f: () }; - let _ = E { f: () }; - let _ = F { f: () }; -} |