| #![feature(offset_of)] |
| |
| use std::mem::offset_of; |
| |
| mod m { |
| #[repr(C)] |
| pub struct Foo { |
| pub public: u8, |
| private: u8, |
| } |
| #[repr(C)] |
| pub struct FooTuple(pub u8, u8); |
| #[repr(C)] |
| struct Bar { |
| pub public: u8, |
| private: u8, |
| } |
| } |
| |
| fn main() { |
| offset_of!(m::Foo, public); |
| offset_of!(m::Foo, private); //~ ERROR field `private` of struct `Foo` is private |
| offset_of!(m::FooTuple, 0); |
| offset_of!(m::FooTuple, 1); //~ ERROR field `1` of struct `FooTuple` is private |
| offset_of!(m::Bar, public); //~ ERROR struct `Bar` is private |
| offset_of!(m::Bar, private); //~ ERROR struct `Bar` is private |
| //~| ERROR field `private` of struct `Bar` is private |
| } |