]> git.lizzy.rs Git - rust.git/blob - src/test/ui/const-generics/const-argument-if-length.rs
Rollup merge of #83041 - guswynn:stable_debug_struct, r=m-ou-se
[rust.git] / src / test / ui / const-generics / const-argument-if-length.rs
1 // revisions: full min
2
3 #![cfg_attr(full, allow(incomplete_features))]
4 #![cfg_attr(full, feature(const_generics))]
5
6 pub const fn is_zst<T: ?Sized>() -> usize {
7     if std::mem::size_of::<T>() == 0 {
8         //[full]~^ ERROR the size for values of type `T` cannot be known at compilation time
9         1
10     } else {
11         0
12     }
13 }
14
15 pub struct AtLeastByte<T: ?Sized> {
16     value: T,
17     //~^ ERROR the size for values of type `T` cannot be known at compilation time
18     pad: [u8; is_zst::<T>()],
19     //[min]~^ ERROR generic parameters may not be used in const operations
20 }
21
22 fn main() {}