diff options
| author | Deadbeef <ent3rm4n@gmail.com> | 2021-12-29 16:29:14 +0800 |
|---|---|---|
| committer | Deadbeef <ent3rm4n@gmail.com> | 2022-02-12 19:24:42 +1100 |
| commit | 6d6314f878bf489e15293498ecb4af082c8d53d8 (patch) | |
| tree | 467761999ce43c50864f82b19f5b862241cac5b0 /src/test/ui | |
| parent | b5235ea732dcb517338eaf2e35fda8ddcf515771 (diff) | |
| download | rust-6d6314f878bf489e15293498ecb4af082c8d53d8.tar.gz rust-6d6314f878bf489e15293498ecb4af082c8d53d8.zip | |
Rebased and improved errors
Diffstat (limited to 'src/test/ui')
| -rw-r--r-- | src/test/ui/const-generics/issues/issue-90318.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/const-generics/issues/issue-90318.stderr | 20 | ||||
| -rw-r--r-- | src/test/ui/consts/issue-90870.fixed | 6 | ||||
| -rw-r--r-- | src/test/ui/consts/issue-90870.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/consts/issue-90870.stderr | 9 |
5 files changed, 32 insertions, 13 deletions
diff --git a/src/test/ui/const-generics/issues/issue-90318.rs b/src/test/ui/const-generics/issues/issue-90318.rs index 0c640a5ef71..bebd0c6ac12 100644 --- a/src/test/ui/const-generics/issues/issue-90318.rs +++ b/src/test/ui/const-generics/issues/issue-90318.rs @@ -13,7 +13,7 @@ fn consume<T: 'static>(_val: T) where If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True, //~^ ERROR: overly complex generic constant - //~| ERROR: calls in constants are limited to constant functions + //~| ERROR: cannot call non-const operator in constants { } @@ -21,7 +21,7 @@ fn test<T: 'static>() where If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True, //~^ ERROR: overly complex generic constant - //~| ERROR: calls in constants are limited to constant functions + //~| ERROR: cannot call non-const operator in constants { } diff --git a/src/test/ui/const-generics/issues/issue-90318.stderr b/src/test/ui/const-generics/issues/issue-90318.stderr index 2b8afe2ef09..c8690ecd0da 100644 --- a/src/test/ui/const-generics/issues/issue-90318.stderr +++ b/src/test/ui/const-generics/issues/issue-90318.stderr @@ -9,11 +9,19 @@ LL | If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True, = help: consider moving this anonymous constant into a `const` function = note: this operation may be supported in the future -error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants +error[E0015]: cannot call non-const operator in constants --> $DIR/issue-90318.rs:14:10 | LL | If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +note: impl defined here, but it is not `const` + --> $SRC_DIR/core/src/any.rs:LL:COL + | +LL | #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)] + | ^^^^^^^^^ + = note: calls in constants are limited to constant functions, tuple structs and tuple variants + = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info) error: overly complex generic constant --> $DIR/issue-90318.rs:22:8 @@ -26,11 +34,19 @@ LL | If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True, = help: consider moving this anonymous constant into a `const` function = note: this operation may be supported in the future -error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants +error[E0015]: cannot call non-const operator in constants --> $DIR/issue-90318.rs:22:10 | LL | If<{ TypeId::of::<T>() != TypeId::of::<()>() }>: True, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +note: impl defined here, but it is not `const` + --> $SRC_DIR/core/src/any.rs:LL:COL + | +LL | #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)] + | ^^^^^^^^^ + = note: calls in constants are limited to constant functions, tuple structs and tuple variants + = note: this error originates in the derive macro `PartialEq` (in Nightly builds, run with -Z macro-backtrace for more info) error: aborting due to 4 previous errors diff --git a/src/test/ui/consts/issue-90870.fixed b/src/test/ui/consts/issue-90870.fixed index e767effcdd0..0d28e06e532 100644 --- a/src/test/ui/consts/issue-90870.fixed +++ b/src/test/ui/consts/issue-90870.fixed @@ -6,20 +6,20 @@ const fn f(a: &u8, b: &u8) -> bool { *a == *b - //~^ ERROR: calls in constant functions are limited to constant functions, tuple structs and tuple variants [E0015] + //~^ ERROR: cannot call non-const operator in constant functions [E0015] //~| HELP: consider dereferencing here } const fn g(a: &&&&i64, b: &&&&i64) -> bool { ****a == ****b - //~^ ERROR: calls in constant functions are limited to constant functions, tuple structs and tuple variants [E0015] + //~^ ERROR: cannot call non-const operator in constant functions [E0015] //~| HELP: consider dereferencing here } const fn h(mut a: &[u8], mut b: &[u8]) -> bool { while let ([l, at @ ..], [r, bt @ ..]) = (a, b) { if *l == *r { - //~^ ERROR: calls in constant functions are limited to constant functions, tuple structs and tuple variants [E0015] + //~^ ERROR: cannot call non-const operator in constant functions [E0015] //~| HELP: consider dereferencing here a = at; b = bt; diff --git a/src/test/ui/consts/issue-90870.rs b/src/test/ui/consts/issue-90870.rs index 35b3c8242aa..c6bfffd2c5c 100644 --- a/src/test/ui/consts/issue-90870.rs +++ b/src/test/ui/consts/issue-90870.rs @@ -6,20 +6,20 @@ const fn f(a: &u8, b: &u8) -> bool { a == b - //~^ ERROR: calls in constant functions are limited to constant functions, tuple structs and tuple variants [E0015] + //~^ ERROR: cannot call non-const operator in constant functions [E0015] //~| HELP: consider dereferencing here } const fn g(a: &&&&i64, b: &&&&i64) -> bool { a == b - //~^ ERROR: calls in constant functions are limited to constant functions, tuple structs and tuple variants [E0015] + //~^ ERROR: cannot call non-const operator in constant functions [E0015] //~| HELP: consider dereferencing here } const fn h(mut a: &[u8], mut b: &[u8]) -> bool { while let ([l, at @ ..], [r, bt @ ..]) = (a, b) { if l == r { - //~^ ERROR: calls in constant functions are limited to constant functions, tuple structs and tuple variants [E0015] + //~^ ERROR: cannot call non-const operator in constant functions [E0015] //~| HELP: consider dereferencing here a = at; b = bt; diff --git a/src/test/ui/consts/issue-90870.stderr b/src/test/ui/consts/issue-90870.stderr index 0e33e6ebe5a..478445cfb39 100644 --- a/src/test/ui/consts/issue-90870.stderr +++ b/src/test/ui/consts/issue-90870.stderr @@ -1,31 +1,34 @@ -error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants +error[E0015]: cannot call non-const operator in constant functions --> $DIR/issue-90870.rs:8:5 | LL | a == b | ^^^^^^ | + = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants help: consider dereferencing here | LL | *a == *b | + + -error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants +error[E0015]: cannot call non-const operator in constant functions --> $DIR/issue-90870.rs:14:5 | LL | a == b | ^^^^^^ | + = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants help: consider dereferencing here | LL | ****a == ****b | ++++ ++++ -error[E0015]: calls in constant functions are limited to constant functions, tuple structs and tuple variants +error[E0015]: cannot call non-const operator in constant functions --> $DIR/issue-90870.rs:21:12 | LL | if l == r { | ^^^^^^ | + = note: calls in constant functions are limited to constant functions, tuple structs and tuple variants help: consider dereferencing here | LL | if *l == *r { |
