Files
2019-09-27 13:09:58 -04:00

30 lines
532 B
Rust

#![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);