2020-08-06 22:57:09 +02:00
|
|
|
// revisions: full min
|
|
|
|
#![cfg_attr(full, feature(const_generics))] //[full]~WARN the feature `const_generics` is incomplete
|
|
|
|
#![cfg_attr(min, feature(min_const_generics))]
|
2019-06-13 17:19:50 +01:00
|
|
|
|
|
|
|
fn f<T: Copy, const N: usize>(x: T) -> [T; N] {
|
2020-03-14 15:30:35 +01:00
|
|
|
[x; { N }]
|
2019-06-13 17:19:50 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
fn g<T, const N: usize>(x: T) -> [T; N] {
|
2020-03-14 15:30:35 +01:00
|
|
|
[x; { N }]
|
|
|
|
//~^ ERROR the trait bound `T: std::marker::Copy` is not satisfied
|
2019-06-13 17:19:50 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let x: [u32; 5] = f::<u32, 5>(3);
|
|
|
|
assert_eq!(x, [3u32; 5]);
|
|
|
|
}
|