Macro static_assertions::assert_fields
[−]
[src]
macro_rules! assert_fields { ($t:path, $($f:ident),+) => { ... }; ($label:ident; $($xs:tt)+) => { ... }; }
Asserts that the type has the given fields.
Examples
This may be used when types have odd fields as a result of #[cfg]
.
struct Ty { #[cfg(windows)] value: u8, #[cfg(not(windows))] value: usize, } /* ... */ // Always have `value` regardless of OS assert_fields!(Ty, value);
Range does not have a field named middle
:
⚠This code doesn't compile so be extra careful!
use std::ops::Range; assert_fields!(Range<u32>, middle);