]> git.lizzy.rs Git - rust.git/blob - src/test/ui/const-generics/array-size-in-generic-struct-param.rs
Rollup merge of #75234 - Amanieu:asm_unstable_book, r=nikomatsakis
[rust.git] / src / test / ui / const-generics / array-size-in-generic-struct-param.rs
1 #![feature(const_generics)]
2 //~^ WARN the feature `const_generics` is incomplete
3
4 #[allow(dead_code)]
5 struct ArithArrayLen<const N: usize>([u32; 0 + N]);
6 //~^ ERROR constant expression depends on a generic parameter
7
8 #[derive(PartialEq, Eq)]
9 struct Config {
10     arr_size: usize,
11 }
12
13 struct B<const CFG: Config> {
14     arr: [u8; CFG.arr_size], //~ ERROR constant expression depends on a generic parameter
15 }
16
17 const C: Config = Config { arr_size: 5 };
18
19 fn main() {
20     let b = B::<C> { arr: [1, 2, 3, 4, 5] };
21     assert_eq!(b.arr.len(), 5);
22 }