summaryrefslogtreecommitdiffstats
path: root/tests/ui/feature-gates/feature-gate-generic_arg_infer.rs
blob: be66560fd921c28244544f2b07a8b5bdbd600e3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// [feature] run-pass
// revisions: normal feature

#![cfg_attr(feature, feature(generic_arg_infer))]

fn foo<const N: usize>(_: [u8; N]) -> [u8; N] {
  [0; N]
}

fn bar() {
    let _x: [u8; 3] = [0; _];
    //[normal]~^ ERROR: using `_` for array lengths is unstable
    //[normal]~| ERROR: in expressions, `_` can only be used on the left-hand side of an assignment
    let _y: [u8; _] = [0; 3];
    //[normal]~^ ERROR: using `_` for array lengths is unstable
    //[normal]~| ERROR: in expressions, `_` can only be used on the left-hand side of an assignment
}

fn main() {
    let _x = foo::<_>([1,2]);
    //[normal]~^ ERROR: type provided when a constant was expected
    bar();
}