39 lines
635 B
Rust
39 lines
635 B
Rust
// 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() {}
|