// revisions: full min | |
#![cfg_attr(full, feature(generic_const_exprs))] | |
#![cfg_attr(full, allow(incomplete_features))] | |
pub const fn is_zst<T: ?Sized>() -> usize { | |
if std::mem::size_of::<T>() == 0 { | |
1 | |
} else { | |
0 | |
} | |
} | |
pub struct AtLeastByte<T: ?Sized> { | |
value: T, | |
//~^ ERROR the size for values of type `T` cannot be known at compilation time | |
pad: [u8; is_zst::<T>()], | |
//[min]~^ ERROR generic parameters may not be used in const operations | |
//[full]~^^ ERROR unconstrained generic constant | |
} | |
fn main() {} |