2024-06-25 23:29:44 +08:00
|
|
|
#![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();
|
2024-07-04 22:05:00 +08:00
|
|
|
let _e: E = Default::default();
|
2024-06-25 23:29:44 +08:00
|
|
|
}
|