1 // run-pass
2 #![feature(const_generics_defaults)]
3 #![allow(dead_code)]
4 
5 struct Both<T=u32, const N: usize=3> {
6   arr: [T; N]
7 }
8 
9 trait BothTrait<T=u32, const N: usize=3> {}
10 
11 enum BothEnum<T=u32, const N: usize=3> {
12   Dummy([T; N])
13 }
14 
15 struct OppOrder<const N: usize=3, T=u32> {
16   arr: [T; N]
17 }
18 
main()19 fn main() {
20   let _ = OppOrder::<3, u32> {
21     arr: [0,0,0],
22   };
23   let _ = Both::<u8, 1> {
24     arr: [0],
25   };
26 }
27