diff options
Diffstat (limited to 'src/test/ui/resolve')
| -rw-r--r-- | src/test/ui/resolve/auxiliary/issue-30535.rs | 5 | ||||
| -rw-r--r-- | src/test/ui/resolve/issue-30535.rs | 9 | ||||
| -rw-r--r-- | src/test/ui/resolve/issue-30535.stderr | 12 | ||||
| -rw-r--r-- | src/test/ui/resolve/issue-39559-2.rs | 18 | ||||
| -rw-r--r-- | src/test/ui/resolve/issue-39559-2.stderr | 19 | ||||
| -rw-r--r-- | src/test/ui/resolve/issue-39559.rs | 19 | ||||
| -rw-r--r-- | src/test/ui/resolve/issue-39559.stderr | 11 | ||||
| -rw-r--r-- | src/test/ui/resolve/resolve-primitive-fallback.rs | 2 |
8 files changed, 94 insertions, 1 deletions
diff --git a/src/test/ui/resolve/auxiliary/issue-30535.rs b/src/test/ui/resolve/auxiliary/issue-30535.rs new file mode 100644 index 00000000000..3608d4a2f14 --- /dev/null +++ b/src/test/ui/resolve/auxiliary/issue-30535.rs @@ -0,0 +1,5 @@ +#![crate_type="lib"] + +pub enum Foo { + FooV { data: () } +} diff --git a/src/test/ui/resolve/issue-30535.rs b/src/test/ui/resolve/issue-30535.rs new file mode 100644 index 00000000000..d48f00d5aca --- /dev/null +++ b/src/test/ui/resolve/issue-30535.rs @@ -0,0 +1,9 @@ +// aux-build:issue-30535.rs + +extern crate issue_30535 as foo; + +fn bar( + _: foo::Foo::FooV //~ ERROR expected type, found variant `foo::Foo::FooV` +) {} + +fn main() {} diff --git a/src/test/ui/resolve/issue-30535.stderr b/src/test/ui/resolve/issue-30535.stderr new file mode 100644 index 00000000000..e3692934b62 --- /dev/null +++ b/src/test/ui/resolve/issue-30535.stderr @@ -0,0 +1,12 @@ +error[E0573]: expected type, found variant `foo::Foo::FooV` + --> $DIR/issue-30535.rs:6:8 + | +LL | _: foo::Foo::FooV + | ^^^^^^^^^^^^^^ + | | + | not a type + | help: try using the variant's enum: `foo::Foo` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0573`. diff --git a/src/test/ui/resolve/issue-39559-2.rs b/src/test/ui/resolve/issue-39559-2.rs new file mode 100644 index 00000000000..07d3a82b1ed --- /dev/null +++ b/src/test/ui/resolve/issue-39559-2.rs @@ -0,0 +1,18 @@ +trait Dim { + fn dim() -> usize; +} + +enum Dim3 {} + +impl Dim for Dim3 { + fn dim() -> usize { + 3 + } +} + +fn main() { + let array: [usize; Dim3::dim()] + //~^ ERROR E0015 + = [0; Dim3::dim()]; + //~^ ERROR E0015 +} diff --git a/src/test/ui/resolve/issue-39559-2.stderr b/src/test/ui/resolve/issue-39559-2.stderr new file mode 100644 index 00000000000..ea27e7bd250 --- /dev/null +++ b/src/test/ui/resolve/issue-39559-2.stderr @@ -0,0 +1,19 @@ +error[E0015]: cannot call non-const fn `<Dim3 as Dim>::dim` in constants + --> $DIR/issue-39559-2.rs:14:24 + | +LL | let array: [usize; Dim3::dim()] + | ^^^^^^^^^^^ + | + = note: calls in constants are limited to constant functions, tuple structs and tuple variants + +error[E0015]: cannot call non-const fn `<Dim3 as Dim>::dim` in constants + --> $DIR/issue-39559-2.rs:16:15 + | +LL | = [0; Dim3::dim()]; + | ^^^^^^^^^^^ + | + = note: calls in constants are limited to constant functions, tuple structs and tuple variants + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0015`. diff --git a/src/test/ui/resolve/issue-39559.rs b/src/test/ui/resolve/issue-39559.rs new file mode 100644 index 00000000000..58d25940733 --- /dev/null +++ b/src/test/ui/resolve/issue-39559.rs @@ -0,0 +1,19 @@ +trait Dim { + fn dim() -> usize; +} + +enum Dim3 {} + +impl Dim for Dim3 { + fn dim() -> usize { + 3 + } +} + +pub struct Vector<T, D: Dim> { + entries: [T; D::dim()], + //~^ ERROR generic parameters may not be used + _dummy: D, +} + +fn main() {} diff --git a/src/test/ui/resolve/issue-39559.stderr b/src/test/ui/resolve/issue-39559.stderr new file mode 100644 index 00000000000..7626f827fc5 --- /dev/null +++ b/src/test/ui/resolve/issue-39559.stderr @@ -0,0 +1,11 @@ +error: generic parameters may not be used in const operations + --> $DIR/issue-39559.rs:14:18 + | +LL | entries: [T; D::dim()], + | ^^^^^^ cannot perform const operation using `D` + | + = note: type parameters may not be used in const expressions + = help: use `#![feature(generic_const_exprs)]` to allow generic const expressions + +error: aborting due to previous error + diff --git a/src/test/ui/resolve/resolve-primitive-fallback.rs b/src/test/ui/resolve/resolve-primitive-fallback.rs index 992bcd7977f..05cabd9e3cd 100644 --- a/src/test/ui/resolve/resolve-primitive-fallback.rs +++ b/src/test/ui/resolve/resolve-primitive-fallback.rs @@ -2,7 +2,7 @@ fn main() { // Make sure primitive type fallback doesn't work in value namespace std::mem::size_of(u16); //~^ ERROR expected value, found builtin type `u16` - //~| ERROR this function takes 0 arguments but 1 argument was supplied + //~| ERROR function takes 0 arguments but 1 argument was supplied // Make sure primitive type fallback doesn't work with global paths let _: ::u8; |
