summary refs log tree commit diff
path: root/tests/ui/lint/dead-code/unused-struct-derive-default.rs
blob: 330ad32dd57094d5cddb5a4e517a3f8175c5d7a5 (plain)
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
#![deny(dead_code)]

#[derive(Default)]
struct T; //~ ERROR struct `T` is never constructed

#[derive(Default)]
struct Used;

#[derive(Default)]
enum E {
    #[default]
    A,
    B, //~ ERROR variant `B` is never constructed
}

// external crate can call T2::default() to construct T2,
// so that no warnings for pub adts
#[derive(Default)]
pub struct T2 {
    _unread: i32,
}

fn main() {
    let _x: Used = Default::default();
}