// Test for interaction between #[automatically_derived] attribute used by | |
// built-in derives and lints generated by liveness pass. | |
// | |
//@ edition:2018 | |
//@ check-pass | |
#![warn(unused)] | |
pub trait T: Sized { | |
const N: usize; | |
fn t(&self) -> Self; | |
} | |
impl T for u32 { | |
const N: usize = { | |
let a = 0; //~ WARN unused variable: `a` | |
4 | |
}; | |
fn t(&self) -> Self { | |
let b = 16; //~ WARN unused variable: `b` | |
0 | |
} | |
} | |
#[automatically_derived] | |
impl T for i32 { | |
const N: usize = { | |
let c = 0; | |
4 | |
}; | |
fn t(&self) -> Self { | |
let d = 17; | |
0 | |
} | |
} | |
fn main() {} |