| #![deny(dead_code)] |
| |
| use std::mem::offset_of; |
| |
| struct Alpha { |
| a: (), |
| b: (), //~ ERROR field `b` is never read |
| c: Beta, |
| } |
| |
| struct Beta { |
| a: (), //~ ERROR field `a` is never read |
| b: (), |
| } |
| |
| struct Gamma { |
| a: (), //~ ERROR field `a` is never read |
| b: (), |
| } |
| |
| struct Delta { |
| a: (), |
| b: (), //~ ERROR field `b` is never read |
| } |
| |
| trait Trait { |
| type Assoc; |
| } |
| impl Trait for () { |
| type Assoc = Delta; |
| } |
| |
| struct Project<T: Trait> { |
| a: u8, //~ ERROR field `a` is never read |
| b: <T as Trait>::Assoc, |
| } |
| |
| fn main() { |
| offset_of!(Alpha, a); |
| offset_of!(Alpha, c.b); |
| offset_of!((Gamma,), 0.b); |
| offset_of!(Project::<()>, b.a); |
| } |