2021-05-15 12:58:23 +02:00
|
|
|
// Unused `pub` fields in non-`pub` structs should also trigger dead code warnings.
|
|
|
|
// check-pass
|
|
|
|
|
|
|
|
#![warn(dead_code)]
|
|
|
|
|
|
|
|
struct Foo {
|
2022-06-10 12:14:24 +09:00
|
|
|
a: i32, //~ WARNING: fields `a` and `b` are never read
|
|
|
|
pub b: i32,
|
2021-05-15 12:58:23 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
struct Bar;
|
|
|
|
|
|
|
|
impl Bar {
|
2023-04-13 22:42:47 +12:00
|
|
|
fn a(&self) -> i32 { 5 } //~ WARNING: methods `a` and `b` are never used [dead_code]
|
|
|
|
pub fn b(&self) -> i32 { 6 }
|
2021-05-15 12:58:23 +02:00
|
|
|
}
|
|
|
|
|
2021-05-16 10:18:28 +08:00
|
|
|
pub(crate) struct Foo1 {
|
2022-06-10 12:14:24 +09:00
|
|
|
a: i32, //~ WARNING: fields `a` and `b` are never read
|
|
|
|
pub b: i32,
|
2021-05-16 10:18:28 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
pub(crate) struct Bar1;
|
|
|
|
|
|
|
|
impl Bar1 {
|
2023-04-13 22:42:47 +12:00
|
|
|
fn a(&self) -> i32 { 5 } //~ WARNING: methods `a` and `b` are never used [dead_code]
|
|
|
|
pub fn b(&self) -> i32 { 6 }
|
2021-05-16 10:18:28 +08:00
|
|
|
}
|
|
|
|
|
2022-05-20 21:06:44 -04:00
|
|
|
pub(crate) struct Foo2 {
|
2022-06-10 12:14:24 +09:00
|
|
|
a: i32, //~ WARNING: fields `a` and `b` are never read
|
|
|
|
pub b: i32,
|
2021-05-16 10:18:28 +08:00
|
|
|
}
|
|
|
|
|
2022-05-20 21:06:44 -04:00
|
|
|
pub(crate) struct Bar2;
|
2021-05-16 10:18:28 +08:00
|
|
|
|
|
|
|
impl Bar2 {
|
2023-04-13 22:42:47 +12:00
|
|
|
fn a(&self) -> i32 { 5 } //~ WARNING: methods `a` and `b` are never used [dead_code]
|
|
|
|
pub fn b(&self) -> i32 { 6 }
|
2021-05-16 10:18:28 +08:00
|
|
|
}
|
|
|
|
|
2021-05-15 12:58:23 +02:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let _ = Foo { a: 1, b: 2 };
|
|
|
|
let _ = Bar;
|
2021-05-16 10:18:28 +08:00
|
|
|
let _ = Foo1 { a: 1, b: 2 };
|
|
|
|
let _ = Bar1;
|
|
|
|
let _ = Foo2 { a: 1, b: 2 };
|
|
|
|
let _ = Bar2;
|
2021-05-15 12:58:23 +02:00
|
|
|
}
|