Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[try-run] -Znext-solver caching #129025

Closed
wants to merge 9 commits into from
Closed

Conversation

lcnr
Copy link
Contributor

@lcnr lcnr commented Aug 12, 2024

#128828 except that it enables -Znext-solver=coherence 😅

try-job: x86_64-fuchsia

r? @ghost

doing so requires overwriting global cache entries and
generally adds significant complexity to the solver. This is
also only ever done for root goals, so it feels easier to wrap
the `evaluate_canonical_goal` in an ordinary query if
necessary.
this allows us to only sometimes disable the global cache.
this makes it easier to maintain and modify going forward.
There may be a small performance cost as we now need to
access the provisional cache *and* walk through the stack
to detect cycles. However, the provisional cache should be
mostly empty and the stack should only have a few elements
so the performance impact is likely minimal.

Given the complexity of the search graph maintainability
trumps linear performance improvements.
@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) labels Aug 12, 2024
@rustbot
Copy link
Collaborator

rustbot commented Aug 12, 2024

Some changes occurred to the core trait solver

cc @rust-lang/initiative-trait-system-refactor

@lcnr
Copy link
Contributor Author

lcnr commented Aug 12, 2024

@bors try

@lcnr lcnr marked this pull request as draft August 12, 2024 21:27
bors added a commit to rust-lang-ci/rust that referenced this pull request Aug 12, 2024
[try-run] Search graph 11 test

rust-lang#128828 except that it enables `-Znext-solver=coherence` 😅

try-job: x86_64-fuchsia

r? `@ghost`
@bors
Copy link
Contributor

bors commented Aug 12, 2024

⌛ Trying commit 8c41f3f with merge 9ebfd32...

@lcnr lcnr changed the title [try-run] Search graph 11 test [try-run] -Znext-solver caching Aug 12, 2024
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-17 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
------
 > importing cache manifest from ghcr.io/rust-lang/rust-ci-cache:3aacb9c90579defe09351ac5e8ee504359f8054da6326ff19038f1b7c90e3cb2aafe33685c6d9b76ee8d2ccbd187ca80c46ab5380485abdd8c0ce7d69cd8d8fd:
------
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-17]
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-17', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-17/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id            := 99999999
---

---- [ui] tests/ui/associated-types/associated-types-coherence-failure.rs stdout ----
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`
3    |
3    |
4 LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {
5    | ----------------------------------------------------------------------------- first implementation here
6 ...
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`
12    |
12    |
13 LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {
14    | ----------------------------------------------------------------------------- first implementation here
15 ...
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`
19 error: aborting due to 2 previous errors
20 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-types/associated-types-coherence-failure/associated-types-coherence-failure.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/x86_64-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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/associated-types/associated-types-coherence-failure" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-types/associated-types-coherence-failure/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `IntoCow<'_, _>` for type `<_ as ToOwned>::Owned`
   |
   |
LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {
...
...
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`
   |
   |
LL | impl<'a, B: ?Sized> IntoCow<'a, B> for <B as ToOwned>::Owned where B: ToOwned {
...
...
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/auto-traits/opaque_type_candidate_selection.rs stdout ----

error: 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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/auto-traits/opaque_type_candidate_selection.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/auto-traits/opaque_type_candidate_selection" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/auto-traits/opaque_type_candidate_selection/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait<_>`
##[error]  --> /checkout/tests/ui/auto-traits/opaque_type_candidate_selection.rs:26:1
   |
   |
LL | impl<T> Trait<T> for T {
...
...
LL | impl<T> Trait<T> for defining_scope::Alias<T> {

error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/coherence-negative-outlives-lifetimes.rs#stock stdout ----
diff of stderr:

5    | ---------------------------------------------- first implementation here
6 LL | impl<'a, T> MyTrait<'a> for &'a T {}
7    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
+    |
+    = note: downstream crates may implement trait `MyPredicate<'_>` for type `&_`
9 error: aborting due to 1 previous error
10 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-negative-outlives-lifetimes.stock/coherence-negative-outlives-lifetimes.stock.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/coherence-negative-outlives-lifetimes.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/coherence-negative-outlives-lifetimes.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "stock" "--check-cfg" "cfg(FALSE,stock,with_negative_coherence)" "--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/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-negative-outlives-lifetimes.stock" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-negative-outlives-lifetimes.stock/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `MyTrait<'_>` for type `&_`
   |
   |
LL | impl<'a, T: MyPredicate<'a>> MyTrait<'a> for T {}
   | ---------------------------------------------- first implementation here
LL | impl<'a, T> MyTrait<'a> for &'a T {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
   |
   = note: downstream crates may implement trait `MyPredicate<'_>` for type `&_`
error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/coherence-negative-outlives-lifetimes.rs#with_negative_coherence stdout ----
diff of stderr:

5    | ---------------------------------------------- first implementation here
6 LL | impl<'a, T> MyTrait<'a> for &'a T {}
7    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
+    |
+    = note: downstream crates may implement trait `MyPredicate<'_>` for type `&_`
9 error: aborting due to 1 previous error
10 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-negative-outlives-lifetimes.with_negative_coherence/coherence-negative-outlives-lifetimes.with_negative_coherence.stderr
To only update this specific test, also pass `--test-args coherence/coherence-negative-outlives-lifetimes.rs`

error in revision `with_negative_coherence`: 1 errors occurred comparing output.
status: exit status: 1
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/coherence-negative-outlives-lifetimes.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "with_negative_coherence" "--check-cfg" "cfg(FALSE,stock,with_negative_coherence)" "--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/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-negative-outlives-lifetimes.with_negative_coherence" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-negative-outlives-lifetimes.with_negative_coherence/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `MyTrait<'_>` for type `&_`
   |
   |
LL | impl<'a, T: MyPredicate<'a>> MyTrait<'a> for T {}
   | ---------------------------------------------- first implementation here
LL | impl<'a, T> MyTrait<'a> for &'a T {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
   |
   = note: downstream crates may implement trait `MyPredicate<'_>` for type `&_`
error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/coherence-overlap-negate-not-use-feature-gate.rs stdout ----
diff of stderr:

5    | --------------------------- first implementation here
6 LL | impl<U> Foo for &U {}
7    | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
+    = note: downstream crates may implement trait `std::ops::DerefMut` for type `&_`
8 
9 error: aborting due to 1 previous error
10 
---
To only update this specific test, also pass `--test-args coherence/coherence-overlap-negate-not-use-feature-gate.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/coherence-overlap-negate-not-use-feature-gate.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-negate-not-use-feature-gate" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-negate-not-use-feature-gate/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Foo` for type `&_`
##[error]  --> /checkout/tests/ui/coherence/coherence-overlap-negate-not-use-feature-gate.rs:5:1
   |
   |
LL | impl<T: DerefMut> Foo for T {}
   | --------------------------- first implementation here
LL | impl<U> Foo for &U {}
   | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
   = note: downstream crates may implement trait `std::ops::DerefMut` for type `&_`

error: aborting due to 1 previous error

---
diff of stderr:

12    |   ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
13    |
14    = note: downstream crates may implement trait `WithAssoc<'a>` for type `std::boxed::Box<_>`
-    = note: downstream crates may implement trait `WhereBound` for type `<std::boxed::Box<_> as WithAssoc<'a>>::Assoc`
17 error: aborting due to 1 previous error
18 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-unnormalizable-projection-0.classic/coherence-overlap-unnormalizable-projection-0.classic.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/coherence-overlap-unnormalizable-projection-0.rs`

error in revision `classic`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/coherence-overlap-unnormalizable-projection-0.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "classic" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-unnormalizable-projection-0.classic" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-unnormalizable-projection-0.classic/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait` for type `Box<_>`
##[error]  --> /checkout/tests/ui/coherence/coherence-overlap-unnormalizable-projection-0.rs:27:1
   |
   |
LL | / impl<T> Trait for T
LL | | where
LL | |     T: 'static,
LL | |     for<'a> T: WithAssoc<'a>,
LL | |     for<'a> <T as WithAssoc<'a>>::Assoc: WhereBound,
   | |____________________________________________________- first implementation here
...
LL |   impl<T> Trait for Box<T> {} //~ ERROR conflicting implementations of trait `Trait` for type `Box<_>`
   |   ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
   |
   = note: downstream crates may implement trait `WithAssoc<'a>` for type `std::boxed::Box<_>`
error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/coherence-overlap-unnormalizable-projection-1.rs#classic stdout ----
diff of stderr:

12    |   ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
13    |
14    = note: downstream crates may implement trait `WithAssoc<'a>` for type `std::boxed::Box<_>`
-    = note: downstream crates may implement trait `WhereBound` for type `std::boxed::Box<<std::boxed::Box<_> as WithAssoc<'a>>::Assoc>`
+    = note: downstream crates may implement trait `WhereBound` for type `std::boxed::Box<_>`
17 error: aborting due to 1 previous error
18 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-unnormalizable-projection-1.classic/coherence-overlap-unnormalizable-projection-1.classic.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/coherence-overlap-unnormalizable-projection-1.rs`

error in revision `classic`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/coherence-overlap-unnormalizable-projection-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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "classic" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-unnormalizable-projection-1.classic" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/coherence-overlap-unnormalizable-projection-1.classic/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait` for type `Box<_>`
##[error]  --> /checkout/tests/ui/coherence/coherence-overlap-unnormalizable-projection-1.rs:26:1
   |
   |
LL | / impl<T> Trait for T
LL | | where
LL | |     T: 'static,
LL | |     for<'a> T: WithAssoc<'a>,
LL | |     for<'a> Box<<T as WithAssoc<'a>>::Assoc>: WhereBound,
   | |_________________________________________________________- first implementation here
...
LL |   impl<T> Trait for Box<T> {} //~ ERROR conflicting implementations of trait `Trait` for type `Box<_>`
   |   ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
   |
   = note: downstream crates may implement trait `WithAssoc<'a>` for type `std::boxed::Box<_>`
   = note: downstream crates may implement trait `WhereBound` for type `std::boxed::Box<_>`
error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/negative-coherence-considering-regions.rs#any_lt stdout ----
diff of stderr:

6 ...
7 LL | impl<T> Bar for &T {}
8    | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
+    |
+    = note: downstream crates may implement trait `Foo` for type `&_`
10 error: aborting due to 1 previous error
11 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-considering-regions.any_lt/negative-coherence-considering-regions.any_lt.stderr
To only update this specific test, also pass `--test-args coherence/negative-coherence-considering-regions.rs`


error in revision `any_lt`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/negative-coherence-considering-regions.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "any_lt" "--check-cfg" "cfg(FALSE,any_lt,static_lt)" "--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/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-considering-regions.any_lt" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-considering-regions.any_lt/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Bar` for type `&_`
##[error]  --> /checkout/tests/ui/coherence/negative-coherence-considering-regions.rs:16:1
   |
   |
LL | impl<T> Bar for T where T: Foo {}
...
...
LL | impl<T> Bar for &T {}
   | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
   |
   = note: downstream crates may implement trait `Foo` for type `&_`
error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/negative-coherence-check-placeholder-outlives.rs stdout ----
diff of stderr:

5    | ------------------------------ first implementation here
6 LL | impl<T> Bar for Box<T> {}
7    | ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
+    |
+    = note: downstream crates may implement trait `Foo` for type `std::boxed::Box<_>`
9 error: aborting due to 1 previous error
10 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-check-placeholder-outlives/negative-coherence-check-placeholder-outlives.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/negative-coherence-check-placeholder-outlives.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/negative-coherence-check-placeholder-outlives.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-check-placeholder-outlives" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-check-placeholder-outlives/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Bar` for type `Box<_>`
   |
   |
LL | impl<T> Bar for T where T: Foo {}
   | ------------------------------ first implementation here
LL | impl<T> Bar for Box<T> {}
   | ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
   |
   = note: downstream crates may implement trait `Foo` for type `std::boxed::Box<_>`
error: aborting due to 1 previous error

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

8    |
9    = warning: the behavior may change in a future release
10    = note: for more information, see issue #56105 <https://github.com/rust-lang/rust/issues/56105>
+    = note: downstream crates may implement trait `Marker` for type `&_`
11    = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
13   --> $DIR/negative-coherence-placeholder-region-constraints-on-unification.rs:4:11


The actual stderr differed from the expected stderr.
The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-placeholder-region-constraints-on-unification.explicit/negative-coherence-placeholder-region-constraints-on-unification.explicit.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/negative-coherence-placeholder-region-constraints-on-unification.rs`

error in revision `explicit`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/negative-coherence-placeholder-region-constraints-on-unification.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "explicit" "--check-cfg" "cfg(FALSE,explicit,implicit)" "--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/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-placeholder-region-constraints-on-unification.explicit" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/negative-coherence-placeholder-region-constraints-on-unification.explicit/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error: conflicting implementations of trait `FnMarker` for type `fn(&_)`
   |
   |
LL | impl<T: ?Sized + Marker> FnMarker for fn(T) {}
   | ------------------------------------------- first implementation here
LL | impl<T: ?Sized> FnMarker for fn(&T) {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(&_)`
   = warning: the behavior may change in a future release
   = note: for more information, see issue #56105 <https://github.com/rust-lang/rust/issues/56105>
   = note: for more information, see issue #56105 <https://github.com/rust-lang/rust/issues/56105>
   = note: downstream crates may implement trait `Marker` for type `&_`
   = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
  --> /checkout/tests/ui/coherence/negative-coherence-placeholder-region-constraints-on-unification.rs:4:11
   |
   |
LL | #![forbid(coherence_leak_check)]

error: aborting due to 1 previous error
------------------------------------------



---- [ui] tests/ui/coherence/normalize-for-errors.rs#current stdout ----
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)`
3    |
3    |
4 LL | impl<T: Copy, S: Iterator> MyTrait<S> for (T, S::Item) {}
5    | ------------------------------------------------------ first implementation here
6 LL |
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    |
+    = note: upstream crates may add a new impl of trait `std::clone::Clone` for type `(MyType,)` in future versions
10    = note: upstream crates may add a new impl of trait `std::marker::Copy` for type `std::boxed::Box<(MyType,)>` in future versions
12 error: aborting due to 1 previous error


The actual stderr differed from the expected stderr.
The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/normalize-for-errors.current/normalize-for-errors.current.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 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/x86_64-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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "current" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/normalize-for-errors.current" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/normalize-for-errors.current/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `MyTrait<_>` for type `(Box<(MyType,)>, <_ as Iterator>::Item)`
   |
   |
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 `(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/occurs-check/associated-type.rs#old stdout ----
diff of stderr:

1  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
3  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
5  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
7  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
- error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), _)>` for type `for<'a> fn(&'a (), _)`
+ error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())`
11    |
11    |
12 LL |   impl<T> Overlap<T> for T {
16 LL | |
17 LL | | where
17 LL | | where
18 LL | |     for<'a> *const T: ToUnit<'a>,
-    | |_________________________________^ conflicting implementation for `for<'a> fn(&'a (), _)`
+    | |_________________________________^ conflicting implementation for `for<'a> fn(&'a (), ())`
20    |
21    = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details


The actual stderr differed from the expected stderr.
The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.old/associated-type.old.stderr
To only update this specific test, also pass `--test-args coherence/occurs-check/associated-type.rs`


error in revision `old`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/occurs-check/associated-type.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "old" "--check-cfg" "cfg(FALSE,old,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/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.old" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.old/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())`
   |
   |
LL |   impl<T> Overlap<T> for T {
...
...
LL | / impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T
LL | | //~^ ERROR conflicting implementations of trait
LL | | where
LL | |     for<'a> *const T: ToUnit<'a>,
   | |_________________________________^ conflicting implementation for `for<'a> fn(&'a (), ())`
   |
   = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/occurs-check/opaques.rs#old stdout ----

error in revision `old`: 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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/occurs-check/opaques.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "old" "--check-cfg" "cfg(FALSE,old,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/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/opaques.old" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/opaques.old/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Trait<_>`
##[error]  --> /checkout/tests/ui/coherence/occurs-check/opaques.rs:30:1
   |
   |
LL | impl<T> Trait<T> for T {
...
...
LL | impl<T> Trait<T> for defining_scope::Alias<T> {

error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/skip-reporting-if-references-err.rs#current stdout ----
diff of stderr:

9 LL | impl<T> ToUnit<'_> for T {}
11 
11 
- error[E0277]: the trait bound `for<'a> (): ToUnit<'a>` is not satisfied
-   --> $DIR/skip-reporting-if-references-err.rs:15:29
-    |
- LL | impl Overlap for for<'a> fn(<() as ToUnit<'a>>::Unit) {}
-    |                             ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'a> ToUnit<'a>` is not implemented for `()`
17 
17 
- error[E0277]: the trait bound `for<'a> (): ToUnit<'a>` is not satisfied
-   --> $DIR/skip-reporting-if-references-err.rs:15:18
-    |
- LL | impl Overlap for for<'a> fn(<() as ToUnit<'a>>::Unit) {}
-    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'a> ToUnit<'a>` is not implemented for `()`
- error: aborting due to 3 previous errors
- 
- Some errors have detailed explanations: E0277, E0726.
- For more information about an error, try `rustc --explain E0277`.
---
To only update this specific test, also pass `--test-args coherence/skip-reporting-if-references-err.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/skip-reporting-if-references-err.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "current" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/skip-reporting-if-references-err.current" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/skip-reporting-if-references-err.current/auxiliary"
--- stderr -------------------------------
error[E0726]: implicit elided lifetime not allowed here
##[error]  --> /checkout/tests/ui/coherence/skip-reporting-if-references-err.rs:10:9
   |
   |
LL | impl<T> ToUnit for T {}
   |
help: indicate the anonymous lifetime
   |
   |
LL | impl<T> ToUnit<'_> for T {}

error: aborting due to 1 previous error

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


---- [ui] tests/ui/coherence/super-traits/super-trait-knowable-1.rs#current stdout ----

error in revision `current`: ui test compiled successfully!
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/super-traits/super-trait-knowable-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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "current" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/super-traits/super-trait-knowable-1.current" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/super-traits/super-trait-knowable-1.current/auxiliary"
stderr: none


---- [ui] tests/ui/coherence/super-traits/super-trait-knowable-3.rs#current stdout ----
---- [ui] tests/ui/coherence/super-traits/super-trait-knowable-3.rs#current stdout ----

error in revision `current`: ui test compiled successfully!
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/super-traits/super-trait-knowable-3.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "current" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/coherence/super-traits/super-trait-knowable-3.current" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/super-traits/super-trait-knowable-3.current/auxiliary"
stderr: none


---- [ui] tests/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs stdout ----
---- [ui] tests/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710.rs stdout ----
diff of stderr:

4 LL | struct A<const N: u32 = 1, const M: u32 = u8>;
6 
- 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> {}
- LL |
- LL |
- LL | impl<const N: u32> Trait for A<N> {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `A<_>`
15 
- error: aborting due to 2 previous errors
- 
- Some errors have detailed explanations: E0119, E0423.
---
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/x86_64-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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/generic_const_exprs/unknown-alias-defkind-anonconst-ice-116710/auxiliary"
--- 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>;

error: aborting due to 1 previous error

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


---- [ui] tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs stdout ----
diff of stderr:

86    |
87    = note: duplicate diagnostic emitted due to `-Z deduplicate-diagnostics=no`
- error: aborting due to 9 previous errors; 2 warnings emitted
+ error[E0592]: duplicate definitions with name `v21`
+   --> $DIR/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`
- Some errors have detailed explanations: E0412, E0422, E0425, E0432.
+ error: aborting due to 10 previous errors; 2 warnings emitted
+ 
+ Some errors have detailed explanations: E0412, E0422, E0425, E0432, E0592.
---
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/x86_64-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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0432]: unresolved import `v20::v13`
   |
   |
LL | pub use v20::{v13, v17};
   |               |
   |               no `v13` in `v20`
   |               help: a similar name exists in the module: `v11`


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);

error[E0412]: 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: `v11`
error[E0412]: cannot find type `v18` in this scope
##[error]  --> /checkout/tests/ui/const-generics/generic_const_exprs/unevaluated-const-ice-119731.rs:30: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: `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:32: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: `v11`

warning: type `v11` should have an upper camel case name
   |
   |
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)]` on by default


warning: type `v17` should have an upper camel case name
   |
   |
LL |     pub struct v17<const v10: usize, const v7: v11> {
   |                ^^^ help: convert the identifier to upper camel case (notice the capitalization): `V17`
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);


error: `[[usize; v4]; v4]` is forbidden as the type of a const generic parameter
   |
   |
LL |     pub struct v17<const v10: usize, const v7: v11> {
   |
   = note: the only supported types are integers, `bool` and `char`
help: add `#![feature(adt_const_params)]` to the crate attributes to enable more complex and user defined types
   |
   |
LL + #![feature(adt_const_params)]


error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
   |
   |
LL |     impl<const v10: usize> v17<v10, v2> {


error: maximum number of nodes exceeded in constant v20::v17::<v10, v2>::{constant#0}
   |
   |
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 10 previous errors; 2 warnings emitted

Some errors have detailed explanations: E0412, E0422, E0425, E0432, E0592.
For more information about an error, try `rustc --explain E0412`.
For more information about an error, try `rustc --explain E0412`.
------------------------------------------


---- [ui] tests/ui/error-codes/e0119/issue-23563.rs stdout ----
diff of stderr:

- error[E0119]: conflicting implementations of trait `LolFrom<&[_]>` for type `LocalType<_>`
+ error[E0119]: conflicting implementations of trait `LolFrom<&[u8]>` for type `LocalType<u8>`
3    |
3    |
4 LL | impl<'a, T> LolFrom<&'a [T]> for LocalType<T> {

The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/error-codes/e0119/issue-23563/issue-23563.stderr
To update references, rerun the tests and pass the `--bless` flag
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args error-codes/e0119/issue-23563.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/error-codes/e0119/issue-23563.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/error-codes/e0119/issue-23563" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/error-codes/e0119/issue-23563/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `LolFrom<&[u8]>` for type `LocalType<u8>`
   |
   |
LL | impl<'a, T> LolFrom<&'a [T]> for LocalType<T> { //~ ERROR conflicting implementations of trait
   |
   = note: conflicting implementation in crate `issue_23563_a`:
   = note: conflicting implementation in crate `issue_23563_a`:
           - impl<T, U> LolFrom<T> for U
             where T: LolInto<U>;
error: aborting due to 1 previous error

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


---- [ui] tests/ui/feature-gates/feature-gate-with_negative_coherence.rs stdout ----
diff of stderr:

6 LL |
7 LL | impl<T> Foo for &T { }
8    | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
+    = note: downstream crates may implement trait `std::ops::DerefMut` for type `&_`
9 
10 error: aborting due to 1 previous error
11 
---
To only update this specific test, also pass `--test-args feature-gates/feature-gate-with_negative_coherence.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/feature-gates/feature-gate-with_negative_coherence.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/feature-gates/feature-gate-with_negative_coherence" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/feature-gates/feature-gate-with_negative_coherence/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Foo` for type `&_`
##[error]  --> /checkout/tests/ui/feature-gates/feature-gate-with_negative_coherence.rs:5:1
   |
   |
LL | impl<T: std::ops::DerefMut> Foo for T { }
LL |
LL |
LL | impl<T> Foo for &T { }
   | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `&_`
   = note: downstream crates may implement trait `std::ops::DerefMut` for type `&_`

error: aborting due to 1 previous error


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


---- [ui] tests/ui/impl-trait/auto-trait-coherence.rs#old stdout ----
diff of stderr:

- error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<OpaqueType>`
+ error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<_>`
3    |
3    |
4 LL | impl<T: Send> AnotherTrait for T {}
5    | -------------------------------- first implementation here
6 ...
6 ...
7 LL | impl AnotherTrait for D<OpaqueType> {
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D<OpaqueType>`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D<_>`
10 error: aborting due to 1 previous error
11 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-coherence.old/auto-trait-coherence.old.stderr
To only update this specific test, also pass `--test-args impl-trait/auto-trait-coherence.rs`


error in revision `old`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/impl-trait/auto-trait-coherence.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "old" "--check-cfg" "cfg(FALSE,old,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/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-coherence.old" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-coherence.old/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<_>`
   |
   |
LL | impl<T: Send> AnotherTrait for T {}
...
...
LL | impl AnotherTrait for D<OpaqueType> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D<_>`
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 impl-trait/coherence-treats-tait-ambig.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/impl-trait/coherence-treats-tait-ambig.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/impl-trait/coherence-treats-tait-ambig" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/coherence-treats-tait-ambig/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Into<_>` for type `Foo`
##[error]  --> /checkout/tests/ui/impl-trait/coherence-treats-tait-ambig.rs:7:1
   |
   |
LL | impl Into<T> for Foo {
   | ^^^^^^^^^^^^^^^^^^^^
   |
   = note: conflicting implementation in crate `core`:
           - impl<T, U> Into<U> for T
             where U: From<T>;
error: aborting due to 1 previous error

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


---- [ui] tests/ui/impl-trait/negative-reasoning.rs stdout ----
diff of stderr:

- error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<OpaqueType>`
+ error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<_>`
3    |
3    |
4 LL | impl<T: std::fmt::Debug> AnotherTrait for T {}
5    | ------------------------------------------- first implementation here
6 ...
6 ...
7 LL | impl AnotherTrait for D<OpaqueType> {
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D<OpaqueType>`
-    |
-    = note: upstream crates may add a new impl of trait `std::marker::FnPtr` for type `OpaqueType` in future versions
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D<_>`
12 error: aborting due to 1 previous error
13 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/negative-reasoning/negative-reasoning.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args impl-trait/negative-reasoning.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/impl-trait/negative-reasoning.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/impl-trait/negative-reasoning" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/negative-reasoning/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `AnotherTrait` for type `D<_>`
   |
   |
LL | impl<T: std::fmt::Debug> AnotherTrait for T {}
...
...
LL | impl AnotherTrait for D<OpaqueType> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `D<_>`
error: aborting due to 1 previous error

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


---- [ui] tests/ui/impl-unused-tps.rs stdout ----
diff of stderr:

7 LL | impl<T,U> Foo<T> for U {
8    | ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[isize; 0]`
9 
- error[E0275]: overflow evaluating the requirement `([isize; 0], _): Sized`
+ error[E0119]: conflicting implementations of trait `Bar`
11    |
11    |
-    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`impl_unused_tps`)
- note: required for `([isize; 0], _)` to implement `Bar`
-   --> $DIR/impl-unused-tps.rs:31:11
+ LL |   impl<T,U> Bar for T {
+ ...
+ ...
+ LL | / impl<T,U> Bar for T
+ LL | |     where T : Bar<Out=U>
+    | |________________________^ conflicting implementation
+ 
+ error[E0119]: conflicting implementations of trait `Foo<[isize; 0]>` for type `[isize; 0]`
15    |
15    |
- LL | impl<T,U> Bar for T {
-    |      |
-    |      unsatisfied trait bound introduced here
-    = note: 126 redundant requirements hidden
-    = note: 126 redundant requirements hidden
-    = note: required for `([isize; 0], _)` to implement `Bar`
+ LL |   impl<T> Foo<T> for [isize;0] {
+ ...
+ ...
+ LL | / impl<T,U,V> Foo<T> for T
+ LL | |     where (T,U): Bar<Out=V>
+    | |___________________________^ conflicting implementation for `[isize; 0]`
22 
+ error[E0119]: conflicting implementations of trait `Foo<([isize; 0], _)>` for type `[isize; 0]`
+    |
+    |
+ LL |   impl<T> Foo<T> for [isize;0] {
+ ...
+ ...
+ LL | / impl<T,U,V> Foo<(T,U)> for T
+ LL | |     where (T,U): Bar<Out=V>
+    | |___________________________^ conflicting implementation for `[isize; 0]`
23 error[E0207]: the type parameter `U` is not constrained by the impl trait, self type, or predicates
24   --> $DIR/impl-unused-tps.rs:15:8
25    |


50 LL | impl<T,U,V> Foo<T> for T
52 
- error: aborting due to 7 previous errors
+ error: aborting due to 9 previous errors
54 
---
To only update this specific test, also pass `--test-args impl-unused-tps.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/impl-unused-tps.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/impl-unused-tps" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-unused-tps/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Foo<_>` for type `[isize; 0]`
   |
   |
LL | impl<T> Foo<T> for [isize;0] {
...
...
LL | impl<T,U> Foo<T> for U {
   | ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `[isize; 0]`
error[E0119]: conflicting implementations of trait `Bar`
##[error]  --> /checkout/tests/ui/impl-unused-tps.rs:39:1
   |
   |
LL |   impl<T,U> Bar for T {
...
...
LL | / impl<T,U> Bar for T
LL | |     where T : Bar<Out=U>
   | |________________________^ conflicting implementation

error[E0119]: conflicting implementations of trait `Foo<[isize; 0]>` for type `[isize; 0]`
   |
   |
LL |   impl<T> Foo<T> for [isize;0] {
...
...
LL | / impl<T,U,V> Foo<T> for T
LL | |     where (T,U): Bar<Out=V>
   | |___________________________^ conflicting implementation for `[isize; 0]`

error[E0119]: conflicting implementations of trait `Foo<([isize; 0], _)>` for type `[isize; 0]`
   |
   |
LL |   impl<T> Foo<T> for [isize;0] {
...
...
LL | / impl<T,U,V> Foo<(T,U)> for T
LL | |     where (T,U): Bar<Out=V>
   | |___________________________^ conflicting implementation for `[isize; 0]`
error[E0207]: the type parameter `U` is not constrained by the impl trait, self type, or predicates
##[error]  --> /checkout/tests/ui/impl-unused-tps.rs:15:8
   |
   |
LL | impl<T,U> Foo<T> for [isize;1] {

error[E0207]: the type parameter `U` is not constrained by the impl trait, self type, or predicates
##[error]  --> /checkout/tests/ui/impl-unused-tps.rs:31:8
   |
   |
LL | impl<T,U> Bar for T {

error[E0207]: the type parameter `U` is not constrained by the impl trait, self type, or predicates
##[error]  --> /checkout/tests/ui/impl-unused-tps.rs:39:8
   |
   |
LL | impl<T,U> Bar for T

error[E0207]: the type parameter `U` is not constrained by the impl trait, self type, or predicates
##[error]  --> /checkout/tests/ui/impl-unused-tps.rs:47:8
   |
   |
LL | impl<T,U,V> Foo<T> for T

error[E0207]: the type parameter `V` is not constrained by the impl trait, self type, or predicates
##[error]  --> /checkout/tests/ui/impl-unused-tps.rs:47:10
   |
   |
LL | impl<T,U,V> Foo<T> for T

error: aborting due to 9 previous errors

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


---- [ui] tests/ui/higher-ranked/structually-relate-aliases.rs stdout ----
diff of stderr:

1  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, !2_0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
- error[E0277]: the trait bound `for<'a> T: ToUnit<'a>` is not satisfied
-   --> $DIR/structually-relate-aliases.rs:13:36
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
+ error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), _)>` for type `for<'a> fn(&'a (), _)`
5    |
5    |
+ LL | impl<T> Overlap<T> for T {}
+ LL |
+ LL |
6 LL | impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {}
-    |                                    ^^^^^^^^^^^^ the trait `for<'a> ToUnit<'a>` is not implemented for `T`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `for<'a> fn(&'a (), _)`
- help: consider restricting type parameter `T`
-    |
-    |
- LL | impl<T: for<'a> ToUnit<'a>> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {}
-    |       ++++++++++++++++++++
+    = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
13 
- error[E0277]: the trait bound `for<'a> T: ToUnit<'a>` is not satisfied
-    |
-    |
- LL | impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {}
-    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'a> ToUnit<'a>` is not implemented for `T`
- help: consider restricting type parameter `T`
-    |
-    |
- LL | impl<T: for<'a> ToUnit<'a>> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {}
+ error: aborting due to 1 previous error
24 
- error: aborting due to 2 previous errors
- 
---
To only update this specific test, also pass `--test-args higher-ranked/structually-relate-aliases.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/higher-ranked/structually-relate-aliases.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/higher-ranked/structually-relate-aliases" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/higher-ranked/structually-relate-aliases/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit), .. }
error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), _)>` for type `for<'a> fn(&'a (), _)`
   |
   |
LL | impl<T> Overlap<T> for T {}
LL |
LL |
LL | impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `for<'a> fn(&'a (), _)`
   |
   = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
error: aborting due to 1 previous error

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


---- [ui] tests/ui/issues/issue-48728.rs#current stdout ----

error in revision `current`: ui test compiled successfully!
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/issues/issue-48728.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "current" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/issues/issue-48728.current" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-48728.current/auxiliary"
stderr: none


---- [ui] tests/ui/specialization/specialization-default-items-drop-coherence.rs#classic stdout ----
---- [ui] tests/ui/specialization/specialization-default-items-drop-coherence.rs#classic stdout ----

error in revision `classic`: 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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/specialization/specialization-default-items-drop-coherence.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "classic" "--check-cfg" "cfg(FALSE,classic,coherence,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/x86_64-unknown-linux-gnu/test/ui/specialization/specialization-default-items-drop-coherence.classic" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/specialization/specialization-default-items-drop-coherence.classic/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Overlap` for type `u32`
##[error]  --> /checkout/tests/ui/specialization/specialization-default-items-drop-coherence.rs:29:1
   |
   |
LL | impl Overlap for u32 {
   | -------------------- first implementation here
...
LL | impl Overlap for <u32 as Default>::Id {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u32`
error: aborting due to 1 previous error

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


---- [ui] tests/ui/specialization/specialization-overlap-projection.rs#current stdout ----

error in revision `current`: 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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/specialization/specialization-overlap-projection.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "current" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/specialization/specialization-overlap-projection.current" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/specialization/specialization-overlap-projection.current/auxiliary"
--- stderr -------------------------------
warning: the feature `specialization` is incomplete and may not be safe to use and/or cause compiler crashes
##[warning]  --> /checkout/tests/ui/specialization/specialization-overlap-projection.rs:10:12
   |
   |
LL | #![feature(specialization)] //~ WARN the feature `specialization` is incomplete
   |
   = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information
   = help: consider using `min_specialization` instead, which is more stable and complete
   = note: `#[warn(incomplete_features)]` on by default
   = note: `#[warn(incomplete_features)]` on by default

error[E0119]: conflicting implementations of trait `Foo` for type `u32`
##[error]  --> /checkout/tests/ui/specialization/specialization-overlap-projection.rs:25:1
   |
LL | impl Foo for u32 {}
   | ---------------- first implementation here
LL | impl Foo for <u8 as Assoc>::Output {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u32`
error[E0119]: conflicting implementations of trait `Foo` for type `u32`
##[error]  --> /checkout/tests/ui/specialization/specialization-overlap-projection.rs:27:1
   |
LL | impl Foo for u32 {}
LL | impl Foo for u32 {}
   | ---------------- first implementation here
...
LL | impl Foo for <u16 as Assoc>::Output {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `u32`
error: aborting due to 2 previous errors; 1 warning emitted

For more information about this error, try `rustc --explain E0119`.
------------------------------------------
---
- error[E0119]: conflicting implementations of trait `AnotherTrait` for type `OpaqueType`
+ error[E0119]: conflicting implementations of trait `AnotherTrait`
2   --> $DIR/issue-83613.rs:10:1
3    |
4 LL | impl<T: Send> AnotherTrait for T {}
5    | -------------------------------- first implementation here
6 LL | impl AnotherTrait for OpaqueType {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `OpaqueType`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
---
To only update this specific test, also pass `--test-args traits/alias/issue-83613.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/traits/alias/issue-83613.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/traits/alias/issue-83613" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/traits/alias/issue-83613/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `AnotherTrait`
##[error]  --> /checkout/tests/ui/traits/alias/issue-83613.rs:10:1
   |
   |
LL | impl<T: Send> AnotherTrait for T {}
LL | impl AnotherTrait for OpaqueType {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation

error: aborting due to 1 previous error
---

---- [ui] tests/ui/traits/issue-105231.rs stdout ----
diff of stderr:

37    = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
38    = note: all type parameters must be used in a non-recursive way in order to constrain their variance
39 
- error[E0275]: overflow evaluating the requirement `A<A<A<A<A<A<A<...>>>>>>>: Send`
+ error[E0119]: conflicting implementations of trait `Foo` for type `B<u8>`
41    |
-    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_105231`)
-    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_105231`)
- note: required because it appears within the type `B<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<A<u8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>`
-   --> $DIR/issue-105231.rs:5:8
+ LL | impl<T> Foo for T where T: Send {}
+    | ------------------------------- first implementation here
+ LL | impl Foo for B<u8> {}
+    | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `B<u8>`
45    |
- LL | struct B<T>(A<A<T>>);
-    |        ^
+    = note: overflow evaluating the requirement `B<u8>: Send`
+    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_105231`)
49 error: aborting due to 4 previous errors
50 

- Some errors have detailed explanations: E0072, E0275.
---
To only update this specific test, also pass `--test-args traits/issue-105231.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/traits/issue-105231.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/traits/issue-105231" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/traits/issue-105231/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0072]: recursive types `A` and `B` have infinite size
   |
   |
LL | struct A<T>(B<T>);
   | ^^^^^^^^^^^ ---- recursive without indirection
...
LL | struct B<T>(A<A<T>>);
   | ^^^^^^^^^^^ ------- recursive without indirection
   |
help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle
   |
LL ~ struct A<T>(Box<B<T>>);
LL | //~^ ERROR recursive types `A` and `B` have infinite size
LL | //~| ERROR `T` is only used recursively
LL ~ struct B<T>(Box<A<A<T>>>);

error: type parameter `T` is only used recursively
##[error]  --> /checkout/tests/ui/traits/issue-105231.rs:2:15
   |
   |
LL | struct A<T>(B<T>);
   |          |
   |          type parameter must be used non-recursively in the definition
   |
   |
   = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
   = note: all type parameters must be used in a non-recursive way in order to constrain their variance
error: type parameter `T` is only used recursively
##[error]  --> /checkout/tests/ui/traits/issue-105231.rs:5:17
   |
   |
LL | struct B<T>(A<A<T>>);
   |          |
   |          type parameter must be used non-recursively in the definition
   |
   |
   = help: consider removing `T`, referring to it in a field, or using a marker such as `PhantomData`
   = note: all type parameters must be used in a non-recursive way in order to constrain their variance

error[E0119]: conflicting implementations of trait `Foo` for type `B<u8>`
   |
   |
LL | impl<T> Foo for T where T: Send {}
   | ------------------------------- first implementation here
LL | impl Foo for B<u8> {}
   | ^^^^^^^^^^^^^^^^^^ conflicting implementation for `B<u8>`
   |
   = note: overflow evaluating the requirement `B<u8>: Send`
   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_105231`)
error: aborting due to 4 previous errors

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


---- [ui] tests/ui/traits/solver-cycles/cycle-via-builtin-auto-trait-impl.rs stdout ----
diff of stderr:

- error[E0275]: overflow evaluating the requirement `Runtime<RootDatabase>: RefUnwindSafe`
+ error[E0119]: conflicting implementations of trait `Database` for type `RootDatabase`
2    |
2    |
-    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`cycle_via_builtin_auto_trait_impl`)
- note: required because it appears within the type `RootDatabase`
-    |
- LL | struct RootDatabase {
-    |        ^^^^^^^^^^^^
- note: required for `RootDatabase` to implement `Database`
- note: required for `RootDatabase` to implement `Database`
-   --> $DIR/cycle-via-builtin-auto-trait-impl.rs:17:24
-    |
12 LL | impl<T: RefUnwindSafe> Database for T {
-    |         |
-    |         unsatisfied trait bound introduced here
-    |         unsatisfied trait bound introduced here
- note: required because it appears within the type `Runtime<RootDatabase>`
-    |
-    |
- LL | struct Runtime<DB: Database> {
+    | ------------------------------------- first implementation here
+ ...
+ ...
+ LL | impl Database for RootDatabase {
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `RootDatabase`
22 error: aborting due to 1 previous error
23 

- For more information about this error, try `rustc --explain E0275`.
---
To only update this specific test, also pass `--test-args traits/solver-cycles/cycle-via-builtin-auto-trait-impl.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/traits/solver-cycles/cycle-via-builtin-auto-trait-impl.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/traits/solver-cycles/cycle-via-builtin-auto-trait-impl" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/traits/solver-cycles/cycle-via-builtin-auto-trait-impl/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Database` for type `RootDatabase`
##[error]  --> /checkout/tests/ui/traits/solver-cycles/cycle-via-builtin-auto-trait-impl.rs:20:1
   |
   |
LL | impl<T: RefUnwindSafe> Database for T {
...
LL | impl Database for RootDatabase {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `RootDatabase`

---
---- [ui] tests/ui/type-alias-impl-trait/impl_trait_for_same_tait.rs stdout ----
diff of stderr:

15 ...
16 LL | impl Bop for Barr {}
17    | ^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`
-    |
-    = note: upstream crates may add a new impl of trait `std::marker::FnPtr` for type `Barr` in future versions
20 
21 error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`

26 ...
26 ...
27 LL | impl Bop for i32 {}
28    | ^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`
+    |
+    = note: upstream crates may add a new impl of trait `std::marker::FnPtr` for type `i32` in future versions
30 error: aborting due to 3 previous errors
31 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/impl_trait_for_same_tait/impl_trait_for_same_tait.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/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/x86_64-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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/impl_trait_for_same_tait" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/impl_trait_for_same_tait/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
   |
   |
LL | impl Bop for Bar<()> {}
...
...
LL | impl Bop for Bar<i32> {}
   | ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`

error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
   |
   |
LL | impl Bop for Bar<()> {}
...
...
LL | impl Bop for Barr {}
   | ^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`

error[E0119]: conflicting implementations of trait `Bop` for type `Bar<()>`
   |
   |
LL | impl Bop for Bar<()> {}
...
...
LL | impl Bop for i32 {}
   | ^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<()>`
   |
   = note: upstream crates may add a new impl of trait `std::marker::FnPtr` for type `i32` in future versions
error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0119`.
------------------------------------------
---
- error[E0119]: conflicting implementations of trait `AnotherTrait` for type `OpaqueType`
+ error[E0119]: conflicting implementations of trait `AnotherTrait`
2   --> $DIR/issue-104817.rs:16:1
3    |
4 LL | impl<T: Send> AnotherTrait for T {}
5    | -------------------------------- first implementation here
6 LL | impl AnotherTrait for OpaqueType {}
-    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `OpaqueType`
+    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
---
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/issue-104817.stock/issue-104817.stock.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-104817.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/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/issue-104817.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/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "stock" "--check-cfg" "cfg(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/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/issue-104817.stock" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/issue-104817.stock/auxiliary"
--- stderr -------------------------------
error[E0119]: conflicting implementations of trait `AnotherTrait`
##[error]  --> /checkout/tests/ui/type-alias-impl-trait/issue-104817.rs:16:1
   |
   |
LL | impl<T: Send> AnotherTrait for T {}
LL | impl AnotherTrait for OpaqueType {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation

error: aborting due to 1 previous error

@bors
Copy link
Contributor

bors commented Aug 12, 2024

☀️ Try build successful - checks-actions
Build commit: 9ebfd32 (9ebfd32df08ad7ee2c1326f5425cbc93371ec4d6)

@lcnr lcnr closed this Aug 13, 2024
@lcnr lcnr deleted the search-graph-11-test branch August 15, 2024 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

4 participants