39 lines
648 B
Rust
39 lines
648 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; // FIXME should warn about unused variable
|
||
|
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() {}
|