blob: c4654752e20177cf4d732b1cc5d9ebdeab26ba31 [file] [log] [blame]
#![no_std]
#![deny(unsafe_code)]
#[macro_use]
extern crate static_assertions;
#[allow(dead_code)]
enum Foo {
A { x: u8, y: u8 },
B(u8),
}
assert_fields!(Foo::A: x);
assert_fields!(Foo::A: x, x);
assert_fields!(Foo::A: x, y, x);
// TODO: Make tuple field access possible
// assert_fields!(Foo::B, 0);
mod m {
#[allow(dead_code)]
pub struct Bar<T: ?Sized> {
pub nul: (),
pub inner: T,
}
}
#[allow(dead_code)]
use m::Bar as Baz;
assert_fields!(m::Bar<str>: inner, nul);
assert_fields!(Baz<dyn Send>: inner, nul);