51 lines
1.0 KiB
Rust
51 lines
1.0 KiB
Rust
// Unused `pub` fields in non-`pub` structs should also trigger dead code warnings.
|
|
//@ check-pass
|
|
|
|
#![warn(dead_code)]
|
|
|
|
struct Foo {
|
|
a: i32, //~ WARNING: fields `a` and `b` are never read
|
|
pub b: i32,
|
|
}
|
|
|
|
struct Bar;
|
|
|
|
impl Bar {
|
|
fn a(&self) -> i32 { 5 } //~ WARNING: methods `a` and `b` are never used [dead_code]
|
|
pub fn b(&self) -> i32 { 6 }
|
|
}
|
|
|
|
pub(crate) struct Foo1 {
|
|
a: i32, //~ WARNING: fields `a` and `b` are never read
|
|
pub b: i32,
|
|
}
|
|
|
|
pub(crate) struct Bar1;
|
|
|
|
impl Bar1 {
|
|
fn a(&self) -> i32 { 5 } //~ WARNING: methods `a` and `b` are never used [dead_code]
|
|
pub fn b(&self) -> i32 { 6 }
|
|
}
|
|
|
|
pub(crate) struct Foo2 {
|
|
a: i32, //~ WARNING: fields `a` and `b` are never read
|
|
pub b: i32,
|
|
}
|
|
|
|
pub(crate) struct Bar2;
|
|
|
|
impl Bar2 {
|
|
fn a(&self) -> i32 { 5 } //~ WARNING: methods `a` and `b` are never used [dead_code]
|
|
pub fn b(&self) -> i32 { 6 }
|
|
}
|
|
|
|
|
|
fn main() {
|
|
let _ = Foo { a: 1, b: 2 };
|
|
let _ = Bar;
|
|
let _ = Foo1 { a: 1, b: 2 };
|
|
let _ = Bar1;
|
|
let _ = Foo2 { a: 1, b: 2 };
|
|
let _ = Bar2;
|
|
}
|