Closed
Description
This code:
fn main() {
let _ = Example { u: 0 };
}
struct Example {
u: u8,
}
Produces this warning:
warning: field is never read: `u`
--> src/main.rs:6:5
|
6 | u: u8,
| ^^^^^
|
However, switching to a tuple struct:
fn main() {
let _ = Example(0);
}
struct Example(u8);
Does not report a warning.
Original report misleadingly focusing on Debug
fn main() {
dbg!(Example { a: 0 });
}
#[derive(Debug)]
struct Example {
a: u8,
}
produces
warning: field is never read: `a`
--> src/main.rs:7:5
|
7 | a: u8,
| ^^^^^
|
= note: `#[warn(dead_code)]` on by default
However, switching to a tuple struct:
fn main() {
dbg!(Example(0));
}
#[derive(Debug)]
struct Example(u8);
does not produce the warning.
/cc @FabianWolff
/cc #85200; #84647; #88900
Meta
Rustc 1.57.0 and 1.60.0-nightly (2022-01-10 89b9f7b)