1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
// 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() {}
|