Skip to content

Commit 063d5e9

Browse files
committed
liveness: Test interaction with automatically_derived attribute
1 parent 33dde94 commit 063d5e9

File tree

2 files changed

+53
-0
lines changed

2 files changed

+53
-0
lines changed
+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Test for interaction between #[automatically_derived] attribute used by
2+
// built-in derives and lints generated by liveness pass.
3+
//
4+
// edition:2018
5+
// check-pass
6+
#![warn(unused)]
7+
8+
pub trait T: Sized {
9+
const N: usize;
10+
fn t(&self) -> Self;
11+
}
12+
13+
impl T for u32 {
14+
const N: usize = {
15+
let a = 0; // FIXME should warn about unused variable
16+
4
17+
};
18+
19+
fn t(&self) -> Self {
20+
let b = 16; //~ WARN unused variable: `b`
21+
0
22+
}
23+
}
24+
25+
#[automatically_derived]
26+
impl T for i32 {
27+
const N: usize = {
28+
let c = 0;
29+
4
30+
};
31+
32+
fn t(&self) -> Self {
33+
let d = 17;
34+
0
35+
}
36+
}
37+
38+
fn main() {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
warning: unused variable: `b`
2+
--> $DIR/liveness-derive.rs:20:13
3+
|
4+
LL | let b = 16;
5+
| ^ help: if this is intentional, prefix it with an underscore: `_b`
6+
|
7+
note: the lint level is defined here
8+
--> $DIR/liveness-derive.rs:6:9
9+
|
10+
LL | #![warn(unused)]
11+
| ^^^^^^
12+
= note: `#[warn(unused_variables)]` implied by `#[warn(unused)]`
13+
14+
warning: 1 warning emitted
15+

0 commit comments

Comments
 (0)