Skip to content

Donot eagerly normalize alias during coherence#157617

Open
Shourya742 wants to merge 4 commits into
rust-lang:mainfrom
Shourya742:2026-06-08-donot-eagerly-normalize-alias-during-coherence
Open

Donot eagerly normalize alias during coherence#157617
Shourya742 wants to merge 4 commits into
rust-lang:mainfrom
Shourya742:2026-06-08-donot-eagerly-normalize-alias-during-coherence

Conversation

@Shourya742
Copy link
Copy Markdown
Member

@Shourya742 Shourya742 commented Jun 8, 2026

closes: #157407

r? @lcnr

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) beta-nominated Nominated for backporting to the compiler in the beta channel. labels Jun 8, 2026
@rust-log-analyzer
Copy link
Copy Markdown
Collaborator

The job aarch64-gnu-llvm-21-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [ui] tests/ui/associated-types/associated-types-coherence-failure.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/associated-types/associated-types-coherence-failure/associated-types-coherence-failure.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `IntoCow<'_, _>` for type `Cow<'_, _>`
+ error[E0119]: conflicting implementations of trait `IntoCow<'_, _>` for type `<_ as ToOwned>::Owned`
2   --> $DIR/associated-types-coherence-failure.rs:21:1
3    |
4 LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {

5    | ----------------------------------------------------------------------------- first implementation here
6 ...
7 LL | impl<'a, B: ?Sized> IntoCow<'a, B> for Cow<'a, B> where B: ToOwned {
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Cow<'_, _>`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `<_ as ToOwned>::Owned`
9 
- error[E0119]: conflicting implementations of trait `IntoCow<'_, _>` for type `&_`
+ error[E0119]: conflicting implementations of trait `IntoCow<'_, _>` for type `<_ as ToOwned>::Owned`
11   --> $DIR/associated-types-coherence-failure.rs:28:1
12    |
13 LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {

14    | ----------------------------------------------------------------------------- first implementation here
15 ...
16 LL | impl<'a, B: ?Sized> IntoCow<'a, B> for &'a B where B: ToOwned {
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `<_ as ToOwned>::Owned`
18 
19 error: aborting due to 2 previous errors
20 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args associated-types/associated-types-coherence-failure.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/associated-types/associated-types-coherence-failure.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/associated-types/associated-types-coherence-failure" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `IntoCow<'_, _>` for type `<_ as ToOwned>::Owned`
##[error]  --> /checkout/tests/ui/associated-types/associated-types-coherence-failure.rs:21:1
   |
LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {
   | ----------------------------------------------------------------------------- first implementation here
...
LL | impl<'a, B: ?Sized> IntoCow<'a, B> for Cow<'a, B> where B: ToOwned {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `<_ as ToOwned>::Owned`

error[E0119]: conflicting implementations of trait `IntoCow<'_, _>` for type `<_ as ToOwned>::Owned`
##[error]  --> /checkout/tests/ui/associated-types/associated-types-coherence-failure.rs:28:1
   |
LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {
   | ----------------------------------------------------------------------------- first implementation here
...
LL | impl<'a, B: ?Sized> IntoCow<'a, B> for &'a B where B: ToOwned {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `<_ as ToOwned>::Owned`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/associated-types/associated-types-coherence-failure.rs stdout end ----
---- [ui] tests/ui/coherence/coherence-with-closure.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/coherence-with-closure/coherence-with-closure.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Trait` for type `Wrapper<_>`
+ error[E0119]: conflicting implementations of trait `Trait` for type `Wrapper<OpaqueClosure>`
2   --> $DIR/coherence-with-closure.rs:12:1
3    |
4 LL | impl Trait for Wrapper<OpaqueClosure> {}

5    | ------------------------------------- first implementation here
---
To only update this specific test, also pass `--test-args coherence/coherence-with-closure.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/coherence-with-closure.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/coherence-with-closure" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait` for type `Wrapper<OpaqueClosure>`
##[error]  --> /checkout/tests/ui/coherence/coherence-with-closure.rs:12:1
   |
LL | impl Trait for Wrapper<OpaqueClosure> {}
   | ------------------------------------- first implementation here
LL | impl<T: Sync> Trait for Wrapper<T> {}
---
---- [ui] tests/ui/coherence/coherence-with-coroutine.rs#stock stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/coherence-with-coroutine.stock/coherence-with-coroutine.stock.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Trait` for type `Wrapper<_>`
+ error[E0119]: conflicting implementations of trait `Trait` for type `Wrapper<OpaqueCoroutine>`
2   --> $DIR/coherence-with-coroutine.rs:23:1
3    |
4 LL | impl Trait for Wrapper<OpaqueCoroutine> {}

5    | --------------------------------------- first implementation here
6 LL | impl<T: Sync> Trait for Wrapper<T> {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Wrapper<_>`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Wrapper<OpaqueCoroutine>`
8 
9 error: aborting due to 1 previous error
10 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/coherence-with-coroutine.rs`

error in revision `stock`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/coherence-with-coroutine.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--cfg" "stock" "--check-cfg" "cfg(test,FALSE,stock,specialized)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/coherence-with-coroutine.stock" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait` for type `Wrapper<OpaqueCoroutine>`
##[error]  --> /checkout/tests/ui/coherence/coherence-with-coroutine.rs:23:1
   |
LL | impl Trait for Wrapper<OpaqueCoroutine> {}
   | --------------------------------------- first implementation here
LL | impl<T: Sync> Trait for Wrapper<T> {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Wrapper<OpaqueCoroutine>`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0119`.
------------------------------------------
---
22 LL |     panic!("Some error occurred");
23    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the failure occurred here
24 
- error: aborting due to 2 previous errors
+ error[E0119]: conflicting implementations of trait `ConstGenericTrait<{my_fn(1)}>` for type `()`
+   --> $DIR/const-errs-dont-conflict-103369.rs:7:1
+    |
+ LL | impl ConstGenericTrait<{my_fn(1)}> for () {}
+    | ----------------------------------------- first implementation here
+ LL |
+ LL | impl ConstGenericTrait<{my_fn(2)}> for () {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `()`
26 
- For more information about this error, try `rustc --explain E0080`.
+ error: aborting due to 3 previous errors
+ 
+ Some errors have detailed explanations: E0080, E0119.
+ For more information about an error, try `rustc --explain E0080`.
28 

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/coherence/const-errs-dont-conflict-103369.rs:7:1
- LL | impl ConstGenericTrait<{my_fn(1)}> for () {} //~ ERROR E0080
- LL | impl ConstGenericTrait<{my_fn(2)}> for () {} //~ ERROR E0080
+ error[E0119]: conflicting implementations of trait `ConstGenericTrait<{my_fn(1)}>` for type `()`
+   --> $DIR/const-errs-dont-conflict-103369.rs:7:1
+    |
+ LL | impl ConstGenericTrait<{my_fn(1)}> for () {}
+    | ----------------------------------------- first implementation here
+ LL |
+ LL | impl ConstGenericTrait<{my_fn(2)}> for () {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `()`
+ error: aborting due to 3 previous errors
+ 
+ Some errors have detailed explanations: E0080, E0119.
+ For more information about an error, try `rustc --explain E0080`.


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/const-errs-dont-conflict-103369.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/const-errs-dont-conflict-103369.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/const-errs-dont-conflict-103369" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0080]: evaluation panicked: Some error occurred
##[error]  --> /checkout/tests/ui/coherence/const-errs-dont-conflict-103369.rs:5:25
   |
LL | impl ConstGenericTrait<{my_fn(1)}> for () {} //~ ERROR E0080
   |                         ^^^^^^^^ evaluation of `<() as ConstGenericTrait<{my_fn(1)}>>::{constant#0}` failed inside this call
   |
note: inside `my_fn`
  --> /checkout/tests/ui/coherence/const-errs-dont-conflict-103369.rs:10:5
   |
LL |     panic!("Some error occurred");
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the failure occurred here

error[E0080]: evaluation panicked: Some error occurred
##[error]  --> /checkout/tests/ui/coherence/const-errs-dont-conflict-103369.rs:7:25
   |
LL | impl ConstGenericTrait<{my_fn(2)}> for () {} //~ ERROR E0080
   |                         ^^^^^^^^ evaluation of `<() as ConstGenericTrait<{my_fn(2)}>>::{constant#0}` failed inside this call
   |
note: inside `my_fn`
  --> /checkout/tests/ui/coherence/const-errs-dont-conflict-103369.rs:10:5
   |
LL |     panic!("Some error occurred");
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the failure occurred here

error[E0119]: conflicting implementations of trait `ConstGenericTrait<{my_fn(1)}>` for type `()`
##[error]  --> /checkout/tests/ui/coherence/const-errs-dont-conflict-103369.rs:7:1
   |
LL | impl ConstGenericTrait<{my_fn(1)}> for () {} //~ ERROR E0080
   | ----------------------------------------- first implementation here
LL |
LL | impl ConstGenericTrait<{my_fn(2)}> for () {} //~ ERROR E0080
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `()`

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0080, E0119.
For more information about an error, try `rustc --explain E0080`.
------------------------------------------

---- [ui] tests/ui/coherence/const-errs-dont-conflict-103369.rs stdout end ----
---- [ui] tests/ui/coherence/normalize-for-errors.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/normalize-for-errors/normalize-for-errors.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `MyTrait<_>` for type `(Box<(MyType,)>, _)`
+ error[E0119]: conflicting implementations of trait `MyTrait<_>` for type `(Box<(MyType,)>, <_ as Iterator>::Item)`
2   --> $DIR/normalize-for-errors.rs:13:1
3    |
4 LL | impl<T: Copy, S: Iterator> MyTrait<S> for (T, S::Item) {}

5    | ------------------------------------------------------ first implementation here
6 LL |
7 LL | impl<S: Iterator> MyTrait<S> for (Box<<(MyType,) as Mirror>::Assoc>, S::Item) {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(Box<(MyType,)>, _)`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(Box<(MyType,)>, <_ as Iterator>::Item)`
9    |
10    = note: upstream crates may add a new impl of trait `std::clone::Clone` for type `std::boxed::Box<(MyType,)>` in future versions
11    = note: upstream crates may add a new impl of trait `std::marker::Copy` for type `std::boxed::Box<(MyType,)>` in future versions


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/normalize-for-errors.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/normalize-for-errors.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/normalize-for-errors" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `MyTrait<_>` for type `(Box<(MyType,)>, <_ as Iterator>::Item)`
##[error]  --> /checkout/tests/ui/coherence/normalize-for-errors.rs:13:1
   |
LL | impl<T: Copy, S: Iterator> MyTrait<S> for (T, S::Item) {}
   | ------------------------------------------------------ first implementation here
LL | //~^ NOTE first implementation here
LL | impl<S: Iterator> MyTrait<S> for (Box<<(MyType,) as Mirror>::Assoc>, S::Item) {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(Box<(MyType,)>, <_ as Iterator>::Item)`
   |
   = note: upstream crates may add a new impl of trait `std::clone::Clone` for type `std::boxed::Box<(MyType,)>` in future versions
   = note: upstream crates may add a new impl of trait `std::marker::Copy` for type `std::boxed::Box<(MyType,)>` in future versions

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/coherence/normalize-for-errors.rs stdout end ----
---- [ui] tests/ui/coherence/orphan-check-weak-aliases-covering.rs#next stdout ----

error in revision `next`: test compilation failed although it shouldn't!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/orphan-check-weak-aliases-covering.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,classic,next)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/orphan-check-weak-aliases-covering.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/orphan-check-weak-aliases-covering.next/auxiliary" "--edition=2021" "-Znext-solver" "--extern" "foreign=/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/coherence/orphan-check-weak-aliases-covering.next/auxiliary/libparametrized_trait.so"
stdout: none
--- stderr -------------------------------
error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
##[error]  --> /checkout/tests/ui/coherence/orphan-check-weak-aliases-covering.rs:18:6
   |
LL | impl<T> foreign::Trait1<Local, T> for Alias<T> {}
   |      ^ type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
   |
   = note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local, and no uncovered type parameters appear before that first local type
   = note: in this case, 'before' refers to the following order: `impl<..> ForeignTrait<T1, ..., Tn> for T0`, where `T0` is the first and `Tn` is the last

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0210`.
------------------------------------------
---

33    = help: the trait `Sized` is not implemented for `[u8]`
34    = note: statics and constants must have a statically known size
35 
+ error[E0119]: conflicting implementations of trait `Copy` for type `S<A>`
+   --> $DIR/unsized-anon-const-err-2.rs:16:1
+    |
+ LL | impl<const N: i32> Copy for S<A> {}
+    | -------------------------------- first implementation here
+ ...
+ LL | impl<const M: usize> Copy for S<A> {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `S<A>`
+ 
36 error[E0207]: the const parameter `N` is not constrained by the impl trait, self type, or predicates
37   --> $DIR/unsized-anon-const-err-2.rs:13:6
38    |

---
64 

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:16:1
+ error[E0119]: conflicting implementations of trait `Copy` for type `S<A>`
+   --> $DIR/unsized-anon-const-err-2.rs:16:1
+    |
+ LL | impl<const N: i32> Copy for S<A> {}
+    | -------------------------------- first implementation here
+ ...
+ LL | impl<const M: usize> Copy for S<A> {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `S<A>`
+ 
+ error: aborting due to 7 previous errors
+ Some errors have detailed explanations: E0119, E0207, E0277.
+ For more information about an error, try `rustc --explain E0119`.


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args const-generics/adt_const_params/unsized-anon-const-err-2.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/adt_const_params/unsized-anon-const-err-2" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: free constant item without body
##[error]  --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:9:1
   |
LL | const A: [u8];
   | ^^^^^^^^^^^^^-
   |              |
   |              help: provide a definition for the constant: `= <expr>;`

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
##[error]  --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:9:10
   |
LL | const A: [u8];
---

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
##[error]  --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:13:31
   |
LL | impl<const N: i32> Copy for S<A> {}
   |                               ^ doesn't have a size known at compile-time
   |
   = help: the trait `Sized` is not implemented for `[u8]`
   = note: statics and constants must have a statically known size

error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
##[error]  --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:16:33
   |
LL | impl<const M: usize> Copy for S<A> {}
   |                                 ^ doesn't have a size known at compile-time
   |
   = help: the trait `Sized` is not implemented for `[u8]`
   = note: statics and constants must have a statically known size

error[E0119]: conflicting implementations of trait `Copy` for type `S<A>`
##[error]  --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:16:1
   |
LL | impl<const N: i32> Copy for S<A> {}
   | -------------------------------- first implementation here
...
LL | impl<const M: usize> Copy for S<A> {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `S<A>`

error[E0207]: the const parameter `N` is not constrained by the impl trait, self type, or predicates
##[error]  --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:13:6
   |
LL | impl<const N: i32> Copy for S<A> {}
   |     -^^^^^^^^^^^^-
   |     ||
   |     |unconstrained const parameter
   |     help: remove the unused type parameter `N`
   |
   = note: expressions using a const parameter must map each value to a distinct output value
   = note: proving the result of expressions other than the parameter are unique is not supported

error[E0207]: the const parameter `M` is not constrained by the impl trait, self type, or predicates
##[error]  --> /checkout/tests/ui/const-generics/adt_const_params/unsized-anon-const-err-2.rs:16:6
   |
LL | impl<const M: usize> Copy for S<A> {}
   |     -^^^^^^^^^^^^^^-
   |     ||
   |     |unconstrained const parameter
   |     help: remove the unused type parameter `M`
   |
---
---- [ui] tests/ui/const-generics/gca/coherence-fail.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/gca/coherence-fail/coherence-fail.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Trait1` for type `[(); 2]`
+ error[E0119]: conflicting implementations of trait `Trait1` for type `[(); FOO::<1>]`
2   --> $DIR/coherence-fail.rs:10:1
3    |
4 LL | impl Trait1 for [(); FOO::<1>] {}

5    | ------------------------------ first implementation here
6 LL | impl Trait1 for [(); BAR::<1>] {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); 2]`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); FOO::<1>]`
8 
- error[E0119]: conflicting implementations of trait `Trait2` for type `[(); 1]`
+ error[E0119]: conflicting implementations of trait `Trait2` for type `[(); DIV2::<2>]`
10   --> $DIR/coherence-fail.rs:17:1
11    |
12 LL | impl Trait2 for [(); DIV2::<2>] {}

13    | ------------------------------- first implementation here
14 LL | impl Trait2 for [(); DIV2::<3>] {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); 1]`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); DIV2::<2>]`
16 
- error[E0119]: conflicting implementations of trait `Trait3` for type `[(); 2]`
+ error[E0119]: conflicting implementations of trait `Trait3` for type `[(); ADD1::<1>]`
18   --> $DIR/coherence-fail.rs:26:1
19    |
20 LL | impl Trait3 for [(); ADD1::<1>] {}

21    | ------------------------------- first implementation here
22 LL | impl Trait3 for [(); SUB1::<3>] {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); 2]`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); ADD1::<1>]`
24 
25 error: aborting due to 3 previous errors
26 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args const-generics/gca/coherence-fail.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/const-generics/gca/coherence-fail.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/gca/coherence-fail" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait1` for type `[(); FOO::<1>]`
##[error]  --> /checkout/tests/ui/const-generics/gca/coherence-fail.rs:10:1
   |
LL | impl Trait1 for [(); FOO::<1>] {}
   | ------------------------------ first implementation here
LL | impl Trait1 for [(); BAR::<1>] {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); FOO::<1>]`

error[E0119]: conflicting implementations of trait `Trait2` for type `[(); DIV2::<2>]`
##[error]  --> /checkout/tests/ui/const-generics/gca/coherence-fail.rs:17:1
   |
LL | impl Trait2 for [(); DIV2::<2>] {}
   | ------------------------------- first implementation here
LL | impl Trait2 for [(); DIV2::<3>] {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); DIV2::<2>]`

error[E0119]: conflicting implementations of trait `Trait3` for type `[(); ADD1::<1>]`
##[error]  --> /checkout/tests/ui/const-generics/gca/coherence-fail.rs:26:1
   |
LL | impl Trait3 for [(); ADD1::<1>] {}
   | ------------------------------- first implementation here
LL | impl Trait3 for [(); SUB1::<3>] {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[(); ADD1::<1>]`

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/const-generics/gca/coherence-fail.rs stdout end ----
---- [ui] tests/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710/unknown-alias-defkind-anonconst-ice-116710.stderr`
diff of stderr:

4 LL | struct A<const N: u32 = 1, const M: u32 = u8>;
5    |                                           ^^ not a value
6 
- error: aborting due to 1 previous error
+ error[E0119]: conflicting implementations of trait `Trait` for type `A<_>`
+   --> $DIR/unknown-alias-defkind-anonconst-ice-116710.rs:12:1
+    |
+ LL | impl<const N: u32> Trait for A<N> {}
+    | --------------------------------- first implementation here
+ LL |
+ LL | impl<const N: u32> Trait for A<N> {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `A<_>`
8 
- For more information about this error, try `rustc --explain E0423`.
+ error: aborting due to 2 previous errors
+ 
+ Some errors have detailed explanations: E0119, E0423.
---
-   --> /checkout/tests/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs:12:1
+ error[E0119]: conflicting implementations of trait `Trait` for type `A<_>`
+   --> $DIR/unknown-alias-defkind-anonconst-ice-116710.rs:12:1
+    |
+ LL | impl<const N: u32> Trait for A<N> {}
+    | --------------------------------- first implementation here
+ LL |
+ LL | impl<const N: u32> Trait for A<N> {}
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `A<_>`
+ error: aborting due to 2 previous errors
+ 
+ Some errors have detailed explanations: E0119, E0423.
+ For more information about an error, try `rustc --explain E0119`.


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0423]: expected value, found builtin type `u8`
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs:6:43
   |
LL | struct A<const N: u32 = 1, const M: u32 = u8>;
   |                                           ^^ not a value

error[E0119]: conflicting implementations of trait `Trait` for type `A<_>`
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs:12:1
   |
LL | impl<const N: u32> Trait for A<N> {}
   | --------------------------------- first implementation here
LL |
LL | impl<const N: u32> Trait for A<N> {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `A<_>`

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0119, E0423.
For more information about an error, try `rustc --explain E0119`.
---

115    |
116    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
117 
+ error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
+   --> $DIR/unevaluated-const-ice-119731.rs:28:37
+    |
+ LL |     impl<const v10: usize> v17<v10, v2> {
+    |                                     ^^
+    |
+    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+ 
+ error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
+   --> $DIR/unevaluated-const-ice-119731.rs:28:37
+    |
+ LL |     impl<const v10: usize> v17<v10, v2> {
+    |                                     ^^
+    |
+    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+ 
+ error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
+   --> $DIR/unevaluated-const-ice-119731.rs:28:37
+    |
+ LL |     impl<const v10: usize> v17<v10, v2> {
+    |                                     ^^
+    |
+    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+ 
118 error[E0592]: duplicate definitions with name `v21`
119   --> $DIR/unevaluated-const-ice-119731.rs:23:9
120    |

124 LL |         pub const fn v21() -> v18 {
125    |         ------------------------- other definition for `v21`
126 
- error: aborting due to 11 previous errors; 2 warnings emitted
+ error: aborting due to 14 previous errors; 2 warnings emitted
128 
129 Some errors have detailed explanations: E0422, E0425, E0432, E0592.
130 For more information about an error, try `rustc --explain E0422`.

Note: some mismatched output was normalized before being compared
-   --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
-   --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
-   --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
+ error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
+   --> $DIR/unevaluated-const-ice-119731.rs:28:37
+    |
+ LL |     impl<const v10: usize> v17<v10, v2> {
+    |                                     ^^
+    |
+    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+ 
+ error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
+   --> $DIR/unevaluated-const-ice-119731.rs:28:37
+    |
+ LL |     impl<const v10: usize> v17<v10, v2> {
+    |                                     ^^
+    |
+    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+ 
+ error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
+   --> $DIR/unevaluated-const-ice-119731.rs:28:37
+    |
+ LL |     impl<const v10: usize> v17<v10, v2> {
+    |                                     ^^
+    |
+    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
+ 
+ error: aborting due to 14 previous errors; 2 warnings emitted
---
To only update this specific test, also pass `--test-args const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0432]: unresolved import `v20::v13`
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:39:15
   |
LL | pub use v20::{v13, v17};
   |               ^^^ no `v13` in `v20`
   |
help: a similar name exists in the module
   |
LL - pub use v20::{v13, v17};
LL + pub use v20::{v11, v17};
   |

error[E0425]: cannot find value `v8` in this scope
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:13:38
   |
LL |     const v0: [[usize; v4]; v4] = v6(v8);
   |                                      ^^ not found in this scope

error[E0425]: cannot find type `v18` in this scope
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:23:31
   |
LL |     pub type v11 = [[usize; v4]; v4];
   |     --------------------------------- similarly named type alias `v11` defined here
...
LL |         pub const fn v21() -> v18 {}
   |                               ^^^
   |
help: a type alias with a similar name exists
   |
LL -         pub const fn v21() -> v18 {}
LL +         pub const fn v21() -> v11 {}
   |

error[E0425]: cannot find type `v18` in this scope
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:32:31
   |
LL |     pub type v11 = [[usize; v4]; v4];
   |     --------------------------------- similarly named type alias `v11` defined here
...
LL |         pub const fn v21() -> v18 {
   |                               ^^^
   |
help: a type alias with a similar name exists
   |
LL -         pub const fn v21() -> v18 {
LL +         pub const fn v21() -> v11 {
   |

error[E0422]: cannot find struct, variant or union type `v18` in this scope
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:34:13
   |
LL |     pub type v11 = [[usize; v4]; v4];
   |     --------------------------------- similarly named type alias `v11` defined here
...
LL |             v18 { _p: () }
   |             ^^^
   |
help: a type alias with a similar name exists
   |
LL -             v18 { _p: () }
LL +             v11 { _p: () }
   |

warning: type `v11` should have an upper camel case name
##[warning]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:9:14
   |
LL |     pub type v11 = [[usize; v4]; v4];
   |              ^^^ help: convert the identifier to upper camel case (notice the capitalization): `V11`
   |
   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default

warning: type `v17` should have an upper camel case name
##[warning]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:16:16
   |
LL |     pub struct v17<const v10: usize, const v7: v11> {
   |                ^^^ help: convert the identifier to upper camel case (notice the capitalization): `V17`

error: `[[usize; v4]; v4]` is forbidden as the type of a const generic parameter
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:16:48
   |
LL |     pub struct v17<const v10: usize, const v7: v11> {
   |                                                ^^^
   |
   = note: the only supported types are integers, `bool`, and `char`
help: add `#![feature(min_adt_const_params)]` to the crate attributes to enable more complex and user defined types
   |
LL + #![feature(min_adt_const_params)]
   |

error[E0425]: cannot find function `v6` in this scope
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:13:35
   |
LL |     const v0: [[usize; v4]; v4] = v6(v8);
   |                                   ^^ not found in this scope

error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
   |
LL |     impl<const v10: usize> v17<v10, v2> {
   |                                     ^^

error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
   |
LL |     impl<const v10: usize> v17<v10, v2> {
   |                                     ^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
   |
LL |     impl<const v10: usize> v17<v10, v2> {
   |                                     ^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
   |
LL |     impl<const v10: usize> v17<v10, v2> {
   |                                     ^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
   |
LL |     impl<const v10: usize> v17<v10, v2> {
   |                                     ^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:28:37
   |
LL |     impl<const v10: usize> v17<v10, v2> {
   |                                     ^^
   |
   = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`

error[E0592]: duplicate definitions with name `v21`
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:23:9
   |
LL |         pub const fn v21() -> v18 {}
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ duplicate definitions for `v21`
...
LL |         pub const fn v21() -> v18 {
   |         ------------------------- other definition for `v21`

error: aborting due to 14 previous errors; 2 warnings emitted

Some errors have detailed explanations: E0422, E0425, E0432, E0592.
For more information about an error, try `rustc --explain E0422`.
---
error: ui test did not emit an error
note: by default, ui tests are expected not to compile.
hint: use check-pass, build-pass, or run-pass directive to change this behavior.
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/const-generics/issues/issue-89304.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/const-generics/issues/issue-89304" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
stderr: none

---- [ui] tests/ui/const-generics/issues/issue-89304.rs stdout end ----
---- [ui] tests/ui/specialization/coherence/default-item-normalization-ambig-1.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/specialization/coherence/default-item-normalization-ambig-1/default-item-normalization-ambig-1.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Y`
+ error[E0119]: conflicting implementations of trait `Y` for type `<() as X>::U`
2   --> $DIR/default-item-normalization-ambig-1.rs:20:1
3    |
4 LL | impl Y for <() as X>::U {}

5    | ----------------------- first implementation here
6 LL | impl Y for <i32 as X>::U {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
+    | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `<() as X>::U`
8 
9 error: aborting due to 1 previous error
10 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args specialization/coherence/default-item-normalization-ambig-1.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/specialization/coherence/default-item-normalization-ambig-1.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/specialization/coherence/default-item-normalization-ambig-1" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Y` for type `<() as X>::U`
##[error]  --> /checkout/tests/ui/specialization/coherence/default-item-normalization-ambig-1.rs:20:1
   |
LL | impl Y for <() as X>::U {}
   | ----------------------- first implementation here
LL | impl Y for <i32 as X>::U {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `<() as X>::U`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0119`.
------------------------------------------
---
To only update this specific test, also pass `--test-args type-alias-impl-trait/coherence/coherence_cross_crate.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/coherence/coherence_cross_crate.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/coherence/coherence_cross_crate" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/coherence/coherence_cross_crate/auxiliary"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `OtherTrait` for type `Alias`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/coherence/coherence_cross_crate.rs:22:1
   |
---
---- [ui] tests/ui/type-alias-impl-trait/coherence/coherence_different_hidden_ty.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/coherence/coherence_different_hidden_ty/coherence_different_hidden_ty.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Trait` for type `(u32, i32)`
+ error[E0119]: conflicting implementations of trait `Trait` for type `(TAIT, TAIT)`
2   --> $DIR/coherence_different_hidden_ty.rs:20:1
3    |
4 LL | impl Trait for (TAIT, TAIT) {}

5    | --------------------------- first implementation here
6 LL |
7 LL | impl Trait for (u32, i32) {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(u32, i32)`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(TAIT, TAIT)`
9 
10 error: aborting due to 1 previous error
11 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args type-alias-impl-trait/coherence/coherence_different_hidden_ty.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/coherence/coherence_different_hidden_ty.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/coherence/coherence_different_hidden_ty" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait` for type `(TAIT, TAIT)`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/coherence/coherence_different_hidden_ty.rs:20:1
   |
LL | impl Trait for (TAIT, TAIT) {}
   | --------------------------- first implementation here
LL |
LL | impl Trait for (u32, i32) {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(TAIT, TAIT)`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/type-alias-impl-trait/coherence/coherence_different_hidden_ty.rs stdout end ----
---- [ui] tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/impl_trait_for_same_tait/impl_trait_for_same_tait.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Bop`
+ error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
2   --> $DIR/impl_trait_for_same_tait.rs:18:1
3    |
4 LL | impl Bop for Bar<()> {}

5    | -------------------- first implementation here
6 ...
7 LL | impl Bop for Bar<i32> {}
-    | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
+    | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`
9 
- error[E0119]: conflicting implementations of trait `Bop`
+ error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
11   --> $DIR/impl_trait_for_same_tait.rs:28:1
12    |
13 LL | impl Bop for Bar<()> {}

14    | -------------------- first implementation here
15 ...
16 LL | impl Bop for Barr {}
-    | ^^^^^^^^^^^^^^^^^ conflicting implementation
+    | ^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`
18 
- error[E0119]: conflicting implementations of trait `Bop` for type `i32`
+ error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
20   --> $DIR/impl_trait_for_same_tait.rs:32:1
21    |
22 LL | impl Bop for Bar<()> {}

23    | -------------------- first implementation here
24 ...
25 LL | impl Bop for i32 {}
-    | ^^^^^^^^^^^^^^^^ conflicting implementation for `i32`
+    | ^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`
27 
28 error: aborting due to 3 previous errors
29 
---
To only update this specific test, also pass `--test-args type-alias-impl-trait/impl_trait_for_same_tait.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--check-cfg" "cfg(test,FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/impl_trait_for_same_tait" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs:18:1
   |
LL | impl Bop for Bar<()> {}
   | -------------------- first implementation here
...
LL | impl Bop for Bar<i32> {}
   | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`

error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs:28:1
   |
LL | impl Bop for Bar<()> {}
   | -------------------- first implementation here
...
LL | impl Bop for Barr {}
   | ^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`

error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs:32:1
   |
LL | impl Bop for Bar<()> {}
   | -------------------- first implementation here
...
LL | impl Bop for i32 {}
   | ^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`

error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs stdout end ----
---- [ui] tests/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs#error stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.error/implied_lifetime_wf_check.error.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Yay` for type `i32`
+ error[E0119]: conflicting implementations of trait `Yay` for type `<() as HideIt>::Assoc`
2   --> $DIR/implied_lifetime_wf_check.rs:27:1
3    |
4 LL | impl Yay for <() as HideIt>::Assoc {}

5    | ---------------------------------- first implementation here
6 LL | #[cfg(error)]
7 LL | impl Yay for i32 {}
-    | ^^^^^^^^^^^^^^^^ conflicting implementation for `i32`
+    | ^^^^^^^^^^^^^^^^ conflicting implementation for `<() as HideIt>::Assoc`
9 
10 error: aborting due to 1 previous error
11 


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args type-alias-impl-trait/implied_lifetime_wf_check.rs`

error in revision `error`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--cfg" "error" "--check-cfg" "cfg(test,FALSE,pass,error)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/implied_lifetime_wf_check.error" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Yay` for type `<() as HideIt>::Assoc`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs:27:1
   |
LL | impl Yay for <() as HideIt>::Assoc {}
   | ---------------------------------- first implementation here
LL | #[cfg(error)]
LL | impl Yay for i32 {}
   | ^^^^^^^^^^^^^^^^ conflicting implementation for `<() as HideIt>::Assoc`

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0119`.
------------------------------------------

---- [ui] tests/ui/type-alias-impl-trait/implied_lifetime_wf_check.rs#error stdout end ----
---- [ui] tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs#current stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/issue-84660-unsoundness.current/issue-84660-unsoundness.current.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Trait<(), _>`
+ error[E0119]: conflicting implementations of trait `Trait<Bar, _>`
2   --> $DIR/issue-84660-unsoundness.rs:31:1
3    |
4 LL | impl<In, Out> Trait<Bar, In> for Out {


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args type-alias-impl-trait/issue-84660-unsoundness.rs`

error in revision `current`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--cfg" "current" "--check-cfg" "cfg(test,FALSE,current,next)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/issue-84660-unsoundness.current" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait<Bar, _>`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs:31:1
   |
LL | impl<In, Out> Trait<Bar, In> for Out {
   | ------------------------------------ first implementation here
...
LL | impl<In, Out> Trait<(), In> for Out {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation

error: item does not constrain `Bar::{opaque#0}`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs:24:8
   |
LL |     fn convert(_i: In) -> Self::Out {
   |        ^^^^^^^
   |
   = note: consider removing `#[define_opaque]` or adding an empty `#[define_opaque()]`
note: this opaque type is supposed to be constrained
  --> /checkout/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs:12:12
---
---- [ui] tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs#next stdout ----
Saved the actual stderr to `/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/issue-84660-unsoundness.next/issue-84660-unsoundness.next.stderr`
diff of stderr:

- error[E0119]: conflicting implementations of trait `Trait<(), _>`
+ error[E0119]: conflicting implementations of trait `Trait<Bar, _>`
2   --> $DIR/issue-84660-unsoundness.rs:31:1
3    |
4 LL | impl<In, Out> Trait<Bar, In> for Out {


The actual stderr differed from the expected stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args type-alias-impl-trait/issue-84660-unsoundness.rs`

error in revision `next`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2" "--target=aarch64-unknown-linux-gnu" "--cfg" "next" "--check-cfg" "cfg(test,FALSE,current,next)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/type-alias-impl-trait/issue-84660-unsoundness.next" "-A" "unused" "-W" "unused_attributes" "-A" "internal_features" "-A" "incomplete_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-Znext-solver"
stdout: none
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait<Bar, _>`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs:31:1
   |
LL | impl<In, Out> Trait<Bar, In> for Out {
   | ------------------------------------ first implementation here
...
LL | impl<In, Out> Trait<(), In> for Out {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation

error[E0282]: type annotations needed
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/issue-84660-unsoundness.rs:24:27
   |
LL |     fn convert(_i: In) -> Self::Out {
   |                           ^^^^^^^^^ cannot infer type

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0119, E0282.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-nominated Nominated for backporting to the compiler in the beta channel. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1.97 beta regression: "conflicting implementations of trait"

4 participants