2021-12-27 00:24:19 -06:00
|
|
|
// compile-flags: -Zsave-analysis
|
|
|
|
|
|
|
|
// Check that this does not ICE.
|
2023-01-05 02:45:44 -06:00
|
|
|
// Stolen from tests/ui/const-generics/generic_arg_infer/infer-arg-test.rs
|
2021-12-27 00:24:19 -06:00
|
|
|
|
|
|
|
#![feature(generic_arg_infer)]
|
|
|
|
|
|
|
|
struct All<'a, T, const N: usize> {
|
|
|
|
v: &'a T,
|
|
|
|
}
|
|
|
|
|
|
|
|
struct BadInfer<_>;
|
|
|
|
//~^ ERROR expected identifier
|
|
|
|
//~| ERROR parameter `_` is never used
|
|
|
|
|
|
|
|
fn all_fn<'a, T, const N: usize>() {}
|
|
|
|
|
|
|
|
fn bad_infer_fn<_>() {}
|
|
|
|
//~^ ERROR expected identifier
|
|
|
|
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let a: All<_, _, _>;
|
|
|
|
//~^ ERROR this struct takes 2 generic arguments but 3 generic arguments were supplied
|
|
|
|
all_fn();
|
|
|
|
let v: [u8; _];
|
|
|
|
let v: [u8; 10] = [0; _];
|
|
|
|
}
|