// 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() {}