From bbdcc4e7ce697bbd6ad398987c5e4ec4928f5da4 Mon Sep 17 00:00:00 2001 From: varkor Date: Thu, 7 Feb 2019 10:10:11 +0100 Subject: Adjust parser generic parameter errors --- .../const-generics/const-expression-parameter.rs | 19 ++++++++++++++++ .../const-expression-parameter.stderr | 26 ++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/test/ui/const-generics/const-expression-parameter.rs create mode 100644 src/test/ui/const-generics/const-expression-parameter.stderr (limited to 'src/test/ui/const-generics') diff --git a/src/test/ui/const-generics/const-expression-parameter.rs b/src/test/ui/const-generics/const-expression-parameter.rs new file mode 100644 index 00000000000..c582c596bfc --- /dev/null +++ b/src/test/ui/const-generics/const-expression-parameter.rs @@ -0,0 +1,19 @@ +#![feature(const_generics)] +//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash + +fn u32_identity() -> u32 { + //~^ ERROR const generics in any position are currently unsupported + 5 +} + +fn foo_a() { + u32_identity::<-1>(); //~ ERROR expected identifier, found `<-` +} + +fn foo_b() { + u32_identity::<1 + 2>(); //~ ERROR expected one of `,` or `>`, found `+` +} + +fn main() { + u32_identity::<5>(); // ok +} diff --git a/src/test/ui/const-generics/const-expression-parameter.stderr b/src/test/ui/const-generics/const-expression-parameter.stderr new file mode 100644 index 00000000000..1dd3a960316 --- /dev/null +++ b/src/test/ui/const-generics/const-expression-parameter.stderr @@ -0,0 +1,26 @@ +error: expected identifier, found `<-` + --> $DIR/const-expression-parameter.rs:10:19 + | +LL | u32_identity::<-1>(); //~ ERROR expected identifier, found `<-` + | ^^ expected identifier + +error: expected one of `,` or `>`, found `+` + --> $DIR/const-expression-parameter.rs:14:22 + | +LL | u32_identity::<1 + 2>(); //~ ERROR expected one of `,` or `>`, found `+` + | ^ expected one of `,` or `>` here + +warning: the feature `const_generics` is incomplete and may cause the compiler to crash + --> $DIR/const-expression-parameter.rs:1:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + +error: const generics in any position are currently unsupported + --> $DIR/const-expression-parameter.rs:4:23 + | +LL | fn u32_identity() -> u32 { + | ^ + +error: aborting due to 3 previous errors + -- cgit 1.4.1-3-g733a5