warning: fields `d`, `f`, and `g` are never read
  --> $DIR/multiple-dead-codes-in-the-same-struct.rs:10:5
   |
LL | struct Bar {
   |        --- fields in this struct
...
LL |     d: usize,
   |     ^
...
LL |     f: usize,
   |     ^
LL |     g: usize,
   |     ^
   |
note: the lint level is defined here
  --> $DIR/multiple-dead-codes-in-the-same-struct.rs:1:9
   |
LL | #![warn(dead_code)]
   |         ^^^^^^^^^

error: fields `c` and `e` are never read
  --> $DIR/multiple-dead-codes-in-the-same-struct.rs:9:5
   |
LL | struct Bar {
   |        --- fields in this struct
...
LL |     c: usize,
   |     ^
...
LL |     e: usize,
   |     ^
   |
note: the lint level is defined here
  --> $DIR/multiple-dead-codes-in-the-same-struct.rs:8:12
   |
LL |     #[deny(dead_code)]
   |            ^^^^^^^^^

error: field `b` is never read
  --> $DIR/multiple-dead-codes-in-the-same-struct.rs:7:5
   |
LL | struct Bar {
   |        --- field in this struct
...
LL |     b: usize,
   |     ^
   |
note: the lint level is defined here
  --> $DIR/multiple-dead-codes-in-the-same-struct.rs:6:14
   |
LL |     #[forbid(dead_code)]
   |              ^^^^^^^^^

warning: struct `Foo` is never constructed
  --> $DIR/multiple-dead-codes-in-the-same-struct.rs:20:8
   |
LL | struct Foo(usize, #[allow(unused)] usize);
   |        ^^^

error: aborting due to 2 previous errors; 2 warnings emitted

