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