• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #![no_std]
2 #![deny(unsafe_code)]
3 
4 #[macro_use]
5 extern crate static_assertions;
6 
7 #[allow(dead_code)]
8 enum Foo {
9     A { x: u8, y: u8 },
10     B(u8),
11 }
12 
13 assert_fields!(Foo::A: x);
14 assert_fields!(Foo::A: x, x);
15 assert_fields!(Foo::A: x, y, x);
16 
17 // TODO: Make tuple field access possible
18 // assert_fields!(Foo::B, 0);
19 
20 mod m {
21     #[allow(dead_code)]
22     pub struct Bar<T: ?Sized> { pub nul: (), pub inner: T }
23 }
24 
25 #[allow(dead_code)]
26 use m::Bar as Baz;
27 
28 assert_fields!(m::Bar<str>: inner, nul);
29 assert_fields!(Baz<dyn Send>: inner, nul);
30