You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
553 B

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