| //@ run-pass | |
| struct Foo<const N: usize, const M: usize = N>([u8; N], [u8; M]); | |
| fn foo<const N: usize>() -> Foo<N> { | |
| let x = [0; N]; | |
| Foo(x, x) | |
| } | |
| // To check that we actually apply the correct substs for const param defaults. | |
| fn concrete_foo() -> Foo<13> { | |
| Foo(Default::default(), Default::default()) | |
| } | |
| fn main() { | |
| let val = foo::<13>(); | |
| assert_eq!(val.0, val.1); | |
| let val = concrete_foo(); | |
| assert_eq!(val.0, val.1); | |
| } |