Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
error[E0277]: the trait bound `Self: Eq<<Self as Trait>::Assoc>` is not satisfied
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:13:17
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:14:17
|
LL | fn foo() -> IsEqual<Self, Self::Assoc> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Eq<<Self as Trait>::Assoc>` is not implemented for `Self`
|
note: required by a bound in `IsEqual`
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:9:19
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:10:19
|
LL | struct IsEqual<T: Eq<U>, U>(T, U);
| ^^^^^ required by this bound in `IsEqual`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
error[E0277]: the trait bound `Self: Eq<<Self as Trait>::Assoc>` is not satisfied
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:13:17
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:14:17
|
LL | fn foo() -> IsEqual<Self, Self::Assoc> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Eq<<Self as Trait>::Assoc>` is not implemented for `Self`
|
note: required by a bound in `IsEqual`
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:9:19
--> $DIR/always-applicable-impls-shadowed-in-trait-def.rs:10:19
|
LL | struct IsEqual<T: Eq<U>, U>(T, U);
| ^^^^^ required by this bound in `IsEqual`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//@ revisions: old next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

// Testing that even if there's an always applicable blanket impl, the trait
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//@ check-pass
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

trait Trait
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//@ check-pass
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

trait Foo
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/coherence/orphan-check-alias.classic.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`B`)
--> $DIR/orphan-check-alias.rs:21:6
--> $DIR/orphan-check-alias.rs:22:6
|
LL | impl<T> foreign::Trait2<B, T> for <T as Id>::Assoc {
| ^ uncovered type parameter
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/coherence/orphan-check-alias.next.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`B`)
--> $DIR/orphan-check-alias.rs:21:6
--> $DIR/orphan-check-alias.rs:22:6
|
LL | impl<T> foreign::Trait2<B, T> for <T as Id>::Assoc {
| ^ uncovered type parameter
Expand Down
1 change: 1 addition & 0 deletions tests/ui/coherence/orphan-check-alias.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Alias might not cover type parameters.

//@ revisions: classic next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

//@ aux-crate:foreign=parametrized-trait.rs
Expand Down
1 change: 1 addition & 0 deletions tests/ui/coherence/orphan-check-projections-nested.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

//@ check-pass
//@ revisions: classic next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver
//@ aux-crate:dep=trait-with-assoc-ty.rs
//@ edition: 2021
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering-ambiguity.rs:25:6
--> $DIR/orphan-check-projections-not-covering-ambiguity.rs:26:6
|
LL | impl<T> foreign::Trait1<Local, T> for <T as Project>::Output {}
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering-ambiguity.rs:25:6
--> $DIR/orphan-check-projections-not-covering-ambiguity.rs:26:6
|
LL | impl<T> foreign::Trait1<Local, T> for <T as Project>::Output {}
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
// ambiguity.

//@ revisions: classic next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

//@ check-pass
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`LocalTy`)
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:17:6
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:18:6
|
LL | impl<T, U> foreign::Trait0<LocalTy, T, U> for <() as Trait<T, U>>::Assoc {}
| ^ uncovered type parameter
Expand All @@ -13,7 +13,7 @@ LL | impl<T, U> foreign::Trait0<LocalTy, T, U> for <() as Trait<T, U>>::Assoc {}
= note: `#[warn(uncovered_param_in_projection)]` (part of `#[warn(future_incompatible)]`) on by default

warning: type parameter `U` must be covered by another type when it appears before the first local type (`LocalTy`)
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:17:9
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:18:9
|
LL | impl<T, U> foreign::Trait0<LocalTy, T, U> for <() as Trait<T, U>>::Assoc {}
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`LocalTy`)
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:17:6
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:18:6
|
LL | impl<T, U> foreign::Trait0<LocalTy, T, U> for <() as Trait<T, U>>::Assoc {}
| ^ uncovered type parameter
Expand All @@ -13,7 +13,7 @@ LL | impl<T, U> foreign::Trait0<LocalTy, T, U> for <() as Trait<T, U>>::Assoc {}
= note: `#[warn(uncovered_param_in_projection)]` (part of `#[warn(future_incompatible)]`) on by default

warning: type parameter `U` must be covered by another type when it appears before the first local type (`LocalTy`)
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:17:9
--> $DIR/orphan-check-projections-not-covering-multiple-params.rs:18:9
|
LL | impl<T, U> foreign::Trait0<LocalTy, T, U> for <() as Trait<T, U>>::Assoc {}
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//@ revisions: classic next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

//@ check-pass
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering.rs:22:6
--> $DIR/orphan-check-projections-not-covering.rs:23:6
|
LL | impl<T> foreign::Trait0<Local, T, ()> for <T as Identity>::Output {}
| ^ uncovered type parameter
Expand All @@ -13,7 +13,7 @@ LL | impl<T> foreign::Trait0<Local, T, ()> for <T as Identity>::Output {}
= note: `#[warn(uncovered_param_in_projection)]` (part of `#[warn(future_incompatible)]`) on by default

warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering.rs:27:6
--> $DIR/orphan-check-projections-not-covering.rs:28:6
|
LL | impl<T> foreign::Trait0<<T as Identity>::Output, Local, T> for Option<T> {}
| ^ uncovered type parameter
Expand All @@ -26,7 +26,7 @@ LL | impl<T> foreign::Trait0<<T as Identity>::Output, Local, T> for Option<T> {}
= note: for more information, see issue #124559 <https://github.com/rust-lang/rust/issues/124559>

warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering.rs:40:6
--> $DIR/orphan-check-projections-not-covering.rs:41:6
|
LL | impl<T: Deferred> foreign::Trait1<Local, T> for <T as Deferred>::Output {}
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering.rs:22:6
--> $DIR/orphan-check-projections-not-covering.rs:23:6
|
LL | impl<T> foreign::Trait0<Local, T, ()> for <T as Identity>::Output {}
| ^ uncovered type parameter
Expand All @@ -13,7 +13,7 @@ LL | impl<T> foreign::Trait0<Local, T, ()> for <T as Identity>::Output {}
= note: `#[warn(uncovered_param_in_projection)]` (part of `#[warn(future_incompatible)]`) on by default

warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering.rs:27:6
--> $DIR/orphan-check-projections-not-covering.rs:28:6
|
LL | impl<T> foreign::Trait0<<T as Identity>::Output, Local, T> for Option<T> {}
| ^ uncovered type parameter
Expand All @@ -26,7 +26,7 @@ LL | impl<T> foreign::Trait0<<T as Identity>::Output, Local, T> for Option<T> {}
= note: for more information, see issue #124559 <https://github.com/rust-lang/rust/issues/124559>

warning: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
--> $DIR/orphan-check-projections-not-covering.rs:40:6
--> $DIR/orphan-check-projections-not-covering.rs:41:6
|
LL | impl<T: Deferred> foreign::Trait1<Local, T> for <T as Deferred>::Output {}
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// Projections might not cover type parameters.

//@ revisions: classic next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

//@ check-pass
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`LocalTy`)
--> $DIR/orphan-check-projections-unsat-bounds.rs:28:6
--> $DIR/orphan-check-projections-unsat-bounds.rs:29:6
|
LL | impl<T> foreign::Trait1<LocalTy, T> for <Wrapper<T> as Discard>::Output
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
warning: type parameter `T` must be covered by another type when it appears before the first local type (`LocalTy`)
--> $DIR/orphan-check-projections-unsat-bounds.rs:28:6
--> $DIR/orphan-check-projections-unsat-bounds.rs:29:6
|
LL | impl<T> foreign::Trait1<LocalTy, T> for <Wrapper<T> as Discard>::Output
| ^ uncovered type parameter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// unsatisfied bounds while normalization outside of orphan checking succeeds.

//@ revisions: classic next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

//@ check-pass
Expand Down
1 change: 1 addition & 0 deletions tests/ui/coherence/orphan-check-weak-aliases-covering.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

//@ check-pass
//@ revisions: classic next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

//@ aux-crate:foreign=parametrized-trait.rs
Expand Down
1 change: 1 addition & 0 deletions tests/ui/coinduction/canonicalization-rerun.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//@ check-pass
//@ revisions: old next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

// If we use canonical goals during trait solving we have to reevaluate
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0080]: attempt to compute `u8::MAX + 1_u8`, which would overflow
--> $DIR/default-param-wf-concrete.rs:4:28
--> $DIR/default-param-wf-concrete.rs:5:28
|
LL | struct Foo<const N: u8 = { 255 + 1 }>;
| ^^^^^^^ evaluation of `Foo::{constant#0}` failed here
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0080]: attempt to compute `u8::MAX + 1_u8`, which would overflow
--> $DIR/default-param-wf-concrete.rs:4:28
--> $DIR/default-param-wf-concrete.rs:5:28
|
LL | struct Foo<const N: u8 = { 255 + 1 }>;
| ^^^^^^^ evaluation of `Foo::{constant#0}` failed here
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//@ revisions: old next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

struct Foo<const N: u8 = { 255 + 1 }>;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
error[E0284]: type annotations needed for `([(); _], [(); 10])`
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:33:9
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:34:9
|
LL | let (mut arr, mut arr_with_weird_len) = free();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------ type must be known at this point
|
note: required by a const generic parameter in `free`
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:28:9
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:29:9
|
LL | fn free<const N: usize>() -> ([(); N], [(); gca!(FREE::<N>)]) {
| ^^^^^^^^^^^^^^ required by this const generic parameter in `free`
Expand All @@ -15,7 +15,7 @@ LL | let (mut arr, mut arr_with_weird_len): ([_; N], _) = free();
| +++++++++++++

error[E0271]: type mismatch resolving `FREE<10> == 2`
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:39:45
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:40:45
|
LL | let (mut arr, mut arr_with_weird_len) = free();
| ^^^^^^ expected `2`, found `10`
Expand All @@ -24,14 +24,14 @@ LL | let (mut arr, mut arr_with_weird_len) = free();
found constant `10`

error[E0284]: type annotations needed for `([(); _], [(); 10])`
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:50:9
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:51:9
|
LL | let (mut arr, mut arr_with_weird_len) = proj();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ------ type must be known at this point
|
= note: cannot satisfy `<S as Trait>::PROJ<_> == 10`
note: required by a const generic parameter in `proj`
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:45:9
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:46:9
|
LL | fn proj<const N: usize>() -> ([(); N], [(); gca!(<S as Trait>::PROJ::<N>)]) {
| ^^^^^^^^^^^^^^ required by this const generic parameter in `proj`
Expand All @@ -41,7 +41,7 @@ LL | let (mut arr, mut arr_with_weird_len): ([_; N], _) = proj();
| +++++++++++++

error[E0271]: type mismatch resolving `<S as Trait>::PROJ<10> == 2`
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:56:45
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:57:45
|
LL | let (mut arr, mut arr_with_weird_len) = proj();
| ^^^^^^ expected `2`, found `10`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: `gca_const_items` requires -Znext-solver=globally to be enabled
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:9:5
--> $DIR/ambiguous-on-failed-eval-with-vars-fail.rs:10:5
|
LL | gca_const_items,
| ^^^^^^^^^^^^^^^
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//@ revisions: old next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver
// (`test_free_mismatch` is quite difficult to implement in the old solver, so make sure this test
// runs on the old solver, just in case someone attempts to implement GCA for the old solver and
Expand Down
1 change: 1 addition & 0 deletions tests/ui/consts/const-fn-variant-ctor.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//@ check-pass
// @ needs-rustc-debug-assertions
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

#![feature(const_destruct, const_trait_impl)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
error[E0080]: attempt to compute `1_usize - 2_usize`, which would overflow
--> $DIR/const-len-underflow-separate-spans.rs:10:20
--> $DIR/const-len-underflow-separate-spans.rs:11:20
|
LL | const LEN: usize = ONE - TWO;
| ^^^^^^^^^ evaluation of `LEN` failed here

note: erroneous constant encountered
--> $DIR/const-len-underflow-separate-spans.rs:15:17
--> $DIR/const-len-underflow-separate-spans.rs:16:17
|
LL | let a: [i8; LEN] = unimplemented!();
| ^^^
Expand Down
4 changes: 2 additions & 2 deletions tests/ui/consts/const-len-underflow-separate-spans.old.stderr
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
error[E0080]: attempt to compute `1_usize - 2_usize`, which would overflow
--> $DIR/const-len-underflow-separate-spans.rs:10:20
--> $DIR/const-len-underflow-separate-spans.rs:11:20
|
LL | const LEN: usize = ONE - TWO;
| ^^^^^^^^^ evaluation of `LEN` failed here

note: erroneous constant encountered
--> $DIR/const-len-underflow-separate-spans.rs:15:17
--> $DIR/const-len-underflow-separate-spans.rs:16:17
|
LL | let a: [i8; LEN] = unimplemented!();
| ^^^
Expand Down
1 change: 1 addition & 0 deletions tests/ui/consts/const-len-underflow-separate-spans.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
// overall context for what caused the evaluation.

//@ revisions: old next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

const ONE: usize = 1;
Expand Down
1 change: 1 addition & 0 deletions tests/ui/consts/const-try.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//@ check-pass
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver

// Demonstrates what's needed to make use of `?` in const contexts.
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/consts/trait_alias.fail.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `T: [const] Baz` is not satisfied
--> $DIR/trait_alias.rs:24:11
--> $DIR/trait_alias.rs:25:11
|
LL | x.baz();
| ^^^
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/consts/trait_alias.next_fail.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `T: [const] Baz` is not satisfied
--> $DIR/trait_alias.rs:24:11
--> $DIR/trait_alias.rs:25:11
|
LL | x.baz();
| ^^^
Expand Down
1 change: 1 addition & 0 deletions tests/ui/consts/trait_alias.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#![feature(trait_alias, const_trait_impl)]
//@ revisions: next_pass next_fail pass fail
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next_pass] compile-flags: -Znext-solver
//@[next_fail] compile-flags: -Znext-solver
//@[next_pass] check-pass
Expand Down
1 change: 1 addition & 0 deletions tests/ui/coroutine/copy-fast-path-query-cycle.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//@ edition: 2024
//@ revisions: current next
//@ ignore-compare-mode-next-solver (explicit revisions)
//@[next] compile-flags: -Znext-solver
//@ check-pass

Expand Down
1 change: 1 addition & 0 deletions tests/ui/coroutine/gen_block_is_fused_iter.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
//@ revisions: next old
//@ ignore-compare-mode-next-solver (explicit revisions)
//@ edition: 2024
//@[next] compile-flags: -Znext-solver
//@ check-pass
Expand Down
Loading
Loading