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

[perf] Change stable hasher to Blake3 #127754

Closed
wants to merge 5 commits into from
Closed

Conversation

Urgau
Copy link
Member

@Urgau Urgau commented Jul 15, 2024

@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 15, 2024
@Urgau
Copy link
Member Author

Urgau commented Jul 15, 2024

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 15, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 15, 2024
[perf] Change stable hasher to Blake3

Based on rust-lang/rustc-stable-hash@main...Urgau:rustc-stable-hash:blake3

cc `@michaelwoerister`
r? ghost
@bors
Copy link
Contributor

bors commented Jul 15, 2024

⌛ Trying commit 38b97bc with merge 8f04d57...

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Jul 15, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 15, 2024
@Urgau
Copy link
Member Author

Urgau commented Jul 15, 2024

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 15, 2024
[perf] Change stable hasher to Blake3

Based on rust-lang/rustc-stable-hash@main...Urgau:rustc-stable-hash:blake3

cc `@michaelwoerister`
r? ghost
@bors
Copy link
Contributor

bors commented Jul 15, 2024

⌛ Trying commit 311050d with merge bb01f8b...

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Jul 15, 2024

💔 Test failed - checks-actions

@Urgau
Copy link
Member Author

Urgau commented Jul 15, 2024

I have no idea about what's happening. stage1 and stage2 seems fine, but directly after Bolt-ing LLVM we SIGSEGV instant on all the benchmarks after that.

2024-07-15T12:40:31.1170768Z Executing benchmark bitmaps-3.1.0 (1/8)
2024-07-15T12:40:31.1172991Z Preparing bitmaps-3.1.0
2024-07-15T12:40:31.1278780Z [2024-07-15T12:40:31Z INFO collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=None, patch=None, backend=Llvm, phase=dependencies
2024-07-15T12:40:31.1281263Z [2024-07-15T12:40:31Z INFO collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=None, patch=None, backend=Llvm, phase=dependencies
2024-07-15T12:40:31.1283264Z [2024-07-15T12:40:31Z INFO collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=None, patch=None, backend=Llvm, phase=dependencies
2024-07-15T12:40:31.1392313Z [2024-07-15T12:40:31Z DEBUG collector::compile::execute] cd "/tmp/.tmplRWv8p" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmplRWv8p#[email protected]" "--" "--skip-this-rustc"
2024-07-15T12:40:31.1400664Z [2024-07-15T12:40:31Z DEBUG collector::compile::execute] cd "/tmp/.tmp1vgxwS" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmp1vgxwS#[email protected]" "--profile" "check" "--" "--skip-this-rustc"
2024-07-15T12:40:31.1406599Z [2024-07-15T12:40:31Z DEBUG collector::compile::execute] cd "/tmp/.tmpNZVCp2" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpNZVCp2#[email protected]" "--release" "--" "--skip-this-rustc"
2024-07-15T12:40:31.8870331Z Finished benchmark bitmaps-3.1.0 (1/8)
2024-07-15T12:40:31.8871538Z collector error: Failed to profile 'bitmaps-3.1.0' with Eprintln, recorded: expected success, got exit status: 101
2024-07-15T12:40:31.8872322Z
2024-07-15T12:40:31.8872829Z stderr=error: failed to run rustc to learn about target-specific information
2024-07-15T12:40:31.8873407Z
2024-07-15T12:40:31.8873556Z Caused by:
2024-07-15T12:40:31.8876116Z process didn't exit successfully: /tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake - --crate-name ___ --print=file-names --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg (signal: 11, SIGSEGV: invalid memory reference)
2024-07-15T12:40:31.8878432Z --- stderr
2024-07-15T12:40:31.8878845Z error: rustc interrupted by SIGSEGV, printing backtrace
2024-07-15T12:40:31.8879478Z
2024-07-15T12:40:31.8880246Z /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-cc756da8c2cf89a3.so(+0x96f9ec7)[0x7fdd1eb26ec7]
2024-07-15T12:40:31.8881208Z /lib64/libpthread.so.0(+0xf630)[0x7fdd14e14630]
2024-07-15T12:40:31.8882252Z /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-cc756da8c2cf89a3.so(+0x4e102a2)[0x7fdd1a23d2a2]
2024-07-15T12:40:31.8883019Z
2024-07-15T12:40:31.8883421Z note: we would appreciate a report at https://github.com/rust-lang/rust
2024-07-15T12:40:31.8884398Z help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
2024-07-15T12:40:31.8884888Z
2024-07-15T12:40:31.8884894Z
2024-07-15T12:40:31.8885000Z stdout=
2024-07-15T12:40:31.8885256Z

@michaelwoerister
Copy link
Member

Is it possible that the Blake3 crate uses some low-level feature that BOLT does not support?

@Urgau
Copy link
Member Author

Urgau commented Jul 15, 2024

Is it possible that the Blake3 crate uses some low-level feature that BOLT does not support?

It's quite possible, they have some hand-rolled assembly and some C code, which we are probably using due to the auto-detection in their build.rs. (we will have to figure out how to disable those; EDIT: they have a pure feature but it's unstable and only for testing)

Let's try without BOLT for now. The benchmarks won't be accurate, maybe +10% overall, but at least will know if the benchmarks go up way too much.

@bors try

@bors
Copy link
Contributor

bors commented Jul 15, 2024

⌛ Trying commit 29b5718 with merge 6f5329c...

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 15, 2024
[perf] Change stable hasher to Blake3

Based on rust-lang/rustc-stable-hash@main...Urgau:rustc-stable-hash:blake3

cc `@michaelwoerister`
r? ghost
@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)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 46)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 49)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 61)
##[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
---
   Compiling rand_core v0.6.4
   Compiling sha2 v0.10.8
   Compiling sha1 v0.10.6
   Compiling md-5 v0.10.6
   Compiling rustc-stable-hash v0.1.0 (https://github.com/Urgau/rustc-stable-hash.git?rev=368f4ef#368f4ef4)
   Compiling rand_xoshiro v0.6.0
   Compiling rustc-rayon v0.5.0
   Compiling rand v0.8.5
   Compiling regex-automata v0.2.0
---
   Compiling itertools v0.12.1
   Compiling anstyle v1.0.7
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.6
   Compiling rustc-stable-hash v0.1.0 (https://github.com/Urgau/rustc-stable-hash.git?rev=368f4ef#368f4ef4)
   Compiling num_cpus v1.16.0
   Compiling digest v0.10.7
   Compiling perf-event-open-sys v3.0.0
   Compiling rustc-rayon-core v0.5.0
---

---- [ui] tests/ui/associated-consts/issue-93775.rs stdout ----

error: test compilation failed although it shouldn't!
status: signal: 11 (SIGSEGV) (core dumped)
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-consts/issue-93775.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" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-consts/issue-93775" "-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-consts/issue-93775/auxiliary"
--- stderr -------------------------------
error: rustc interrupted by SIGSEGV, printing backtrace


/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0xc72f46)[0x7f8e477ebf46]
/lib/x86_64-linux-gnu/libc.so.6(+0x42990)[0x7f8e46851990]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x420e40b)[0x7f8e4ad8740b]
### cycle encountered after 3 frames with period 4
### cycle encountered after 3 frames with period 4
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(_RNvXs0_NtNtCs76WRwqPymcR_12rustc_middle2ty8impls_tyNtNtB7_12generic_args10GenericArgINtNtCskNC5eitX9Xt_21rustc_data_structures13stable_hasher10HashStableNtNtNtCsHElpiQkext_18rustc_query_system3ich3hcx20StableHashingContextE11hash_stable+0x117)[0x7f8e4ace81c7]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x416ab71)[0x7f8e4ace3b71]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x4102372)[0x7f8e4ac7b372]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x420e513)[0x7f8e4ad87513]
### recursed 63 times

/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(_RNvXs0_NtNtCs76WRwqPymcR_12rustc_middle2ty8impls_tyNtNtB7_12generic_args10GenericArgINtNtCskNC5eitX9Xt_21rustc_data_structures13stable_hasher10HashStableNtNtNtCsHElpiQkext_18rustc_query_system3ich3hcx20StableHashingContextE11hash_stable+0x117)[0x7f8e4ace81c7]

note: rustc unexpectedly overflowed its stack! this is a bug
note: maximum backtrace depth reached, frames may have been lost
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
------------------------------------------



---- [ui] tests/ui/coherence/occurs-check/associated-type.rs#next stdout ----
diff of 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) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
5 error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())`
7    |


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.next/associated-type.next.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args coherence/occurs-check/associated-type.rs`

error in revision `next`: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/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" "next" "--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.next" "-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.next/auxiliary" "-Znext-solver"
--- stderr -------------------------------
--- stderr -------------------------------
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[E0284]: type annotations needed: cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
   |
   |
LL |     foo::<for<'a> fn(&'a (), ()), for<'a> fn(&'a (), ())>(3usize);
   |                                                           ^^^^^^ cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
error: aborting due to 2 previous errors

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


---- [ui] tests/ui/coherence/occurs-check/associated-type.rs#old stdout ----
diff of 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, !2_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, !2_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, !2_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, !2_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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
9 error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), _)>` for type `for<'a> fn(&'a (), _)`
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/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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::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/consts/miri_unleashed/extern-static.rs stdout ----
diff of stderr:

2   --> $DIR/extern-static.rs:11:25
3    |
4 LL |     unsafe { let _val = DATA; }
-    |                         ^^^^ cannot access extern static (DefId(0:4 ~ extern_static[c41e]::{extern#0}::DATA))
+    |                         ^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA))
7 error[E0080]: could not evaluate static initializer
8   --> $DIR/extern-static.rs:16:14

9    |
9    |
10 LL |     unsafe { DATA = 0; }
-    |              ^^^^^^^^ cannot access extern static (DefId(0:4 ~ extern_static[c41e]::{extern#0}::DATA))
+    |              ^^^^^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA))
13 error: aborting due to 2 previous errors
14 



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/extern-static/extern-static.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args consts/miri_unleashed/extern-static.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/consts/miri_unleashed/extern-static.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/consts/miri_unleashed/extern-static" "-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/consts/miri_unleashed/extern-static/auxiliary" "-Zunleash-the-miri-inside-of-you"
--- stderr -------------------------------
error[E0080]: could not evaluate static initializer
##[error]  --> /checkout/tests/ui/consts/miri_unleashed/extern-static.rs:11:25
   |
   |
LL |     unsafe { let _val = DATA; }
   |                         ^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA))
error[E0080]: could not evaluate static initializer
##[error]  --> /checkout/tests/ui/consts/miri_unleashed/extern-static.rs:16:14
   |
LL |     unsafe { DATA = 0; }
LL |     unsafe { DATA = 0; }
   |              ^^^^^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA))
error: aborting due to 2 previous errors

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


---- [ui] tests/ui/consts/miri_unleashed/tls.rs stdout ----
diff of stderr:

2   --> $DIR/tls.rs:11:25
3    |
4 LL |     unsafe { let _val = A; }
-    |                         ^ cannot access thread local static (DefId(0:4 ~ tls[ca29]::A))
+    |                         ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A))
7 error[E0080]: could not evaluate static initializer
8   --> $DIR/tls.rs:20:26

9    |
9    |
10 LL |     unsafe { let _val = &A; }
-    |                          ^ cannot access thread local static (DefId(0:4 ~ tls[ca29]::A))
+    |                          ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A))
13 warning: skipping const checks
14    |



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/tls/tls.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args consts/miri_unleashed/tls.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/consts/miri_unleashed/tls.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/consts/miri_unleashed/tls" "-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/consts/miri_unleashed/tls/auxiliary" "-Zunleash-the-miri-inside-of-you"
--- stderr -------------------------------
error[E0080]: could not evaluate static initializer
##[error]  --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:11:25
   |
   |
LL |     unsafe { let _val = A; }
   |                         ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A))
error[E0080]: could not evaluate static initializer
##[error]  --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:20:26
   |
   |
LL |     unsafe { let _val = &A; }
   |                          ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A))
warning: skipping const checks
   |
help: skipping check that does not even have a feature gate
  --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:11:25
  --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:11:25
   |
LL |     unsafe { let _val = A; }
   |                         ^
help: skipping check that does not even have a feature gate
  --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:20:26
   |
LL |     unsafe { let _val = &A; }

error: aborting due to 2 previous errors; 1 warning emitted

For more information about this error, try `rustc --explain E0080`.
---
diff of stderr:

10   --> $DIR/coroutine-print-verbose-1.rs:35:9
11    |
12 LL |         let _non_send_gen = make_non_send_coroutine();
-    |             ------------- has type `Opaque(DefId(0:34 ~ coroutine_print_verbose_1[75fb]::make_non_send_coroutine::{opaque#0}), [])` which is not `Send`
+    |             ------------- has type `Opaque(DefId(0:34 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine::{opaque#0}), [])` which is not `Send`
14 LL |         yield;
15    |         ^^^^^ yield occurs here, with `_non_send_gen` maybe used later

33    |
33    |
34 LL |     #[coroutine] || {
35    |                  ^^
- note: required because it appears within the type `Opaque(DefId(0:35 ~ coroutine_print_verbose_1[75fb]::make_gen2::{opaque#0}), [Arc<RefCell<i32>>])`
+ note: required because it appears within the type `Opaque(DefId(0:35 ~ coroutine_print_verbose_1[ece5]::make_gen2::{opaque#0}), [Arc<RefCell<i32>>])`
38    |
38    |
39 LL | pub fn make_gen2<T>(t: T) -> impl Coroutine<Return = T> {
40    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
40    |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
- note: required because it appears within the type `Opaque(DefId(0:36 ~ coroutine_print_verbose_1[75fb]::make_non_send_coroutine2::{opaque#0}), [])`
+ note: required because it appears within the type `Opaque(DefId(0:36 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine2::{opaque#0}), [])`
43    |
43    |
44 LL | fn make_non_send_coroutine2() -> impl Coroutine<Return = Arc<RefCell<i32>>> {

The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coroutine/print/coroutine-print-verbose-1/coroutine-print-verbose-1.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 coroutine/print/coroutine-print-verbose-1.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coroutine/print/coroutine-print-verbose-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" "--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/coroutine/print/coroutine-print-verbose-1" "-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/coroutine/print/coroutine-print-verbose-1/auxiliary" "-Zverbose-internals"
--- stderr -------------------------------
error: coroutine cannot be sent between threads safely
##[error]  --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:37:5
   |
   |
LL |     require_send(send_gen);
   |     ^^^^^^^^^^^^^^^^^^^^^^ coroutine is not `Send`
   |
   = help: the trait `Sync` is not implemented for `RefCell<i32>`, which is required by `{test1::{closure#0} upvar_tys=() witness={test1::{closure#0}}}: Send`
   = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
note: coroutine is not `Send` as this value is used across a yield
   |
   |
LL |         let _non_send_gen = make_non_send_coroutine();
   |             ------------- has type `Opaque(DefId(0:34 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine::{opaque#0}), [])` which is not `Send`
LL |         yield;
   |         ^^^^^ yield occurs here, with `_non_send_gen` maybe used later
  --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:26:25
   |
   |
LL | fn require_send(_: impl Send) {}

error[E0277]: `RefCell<i32>` cannot be shared between threads safely
##[error]  --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:56:5
   |
   |
LL |     require_send(send_gen);
   |     ^^^^^^^^^^^^^^^^^^^^^^ `RefCell<i32>` cannot be shared between threads safely
   |
   = help: the trait `Sync` is not implemented for `RefCell<i32>`, which is required by `{test2::{closure#0} upvar_tys=() witness={test2::{closure#0}}}: Send`
   = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead
   = note: required for `Arc<RefCell<i32>>` to implement `Send`
  --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:42:18
   |
   |
LL |     #[coroutine] || {
   |                  ^^
note: required because it appears within the type `Opaque(DefId(0:35 ~ coroutine_print_verbose_1[ece5]::make_gen2::{opaque#0}), [Arc<RefCell<i32>>])`
   |
   |
LL | pub fn make_gen2<T>(t: T) -> impl Coroutine<Return = T> {
   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^
note: required because it appears within the type `Opaque(DefId(0:36 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine2::{opaque#0}), [])`
   |
   |
LL | fn make_non_send_coroutine2() -> impl Coroutine<Return = Arc<RefCell<i32>>> {
note: required because it's used within this coroutine
  --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:52:33
   |
   |
LL |     let send_gen = #[coroutine] || {
note: required by a bound in `require_send`
  --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:26:25
   |
   |
LL | fn require_send(_: impl Send) {}

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
---
diff of stderr:

2   --> $DIR/issue-28324.rs:5:23
3    |
4 LL | pub static BAZ: u32 = *&error_message_count;
-    |                       ^^^^^^^^^^^^^^^^^^^^^ cannot access extern static (DefId(0:4 ~ issue_28324[8ec4]::{extern#0}::error_message_count))
+    |                       ^^^^^^^^^^^^^^^^^^^^^ cannot access extern static (DefId(0:4 ~ issue_28324[67ae]::{extern#0}::error_message_count))
7 error[E0133]: use of extern static is unsafe and requires unsafe function or block
8   --> $DIR/issue-28324.rs:5:25



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/extern/issue-28324/issue-28324.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args extern/issue-28324.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/extern/issue-28324.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/extern/issue-28324" "-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/extern/issue-28324/auxiliary"
--- stderr -------------------------------
error[E0080]: could not evaluate static initializer
##[error]  --> /checkout/tests/ui/extern/issue-28324.rs:5:23
   |
   |
LL | pub static BAZ: u32 = *&error_message_count;
   |                       ^^^^^^^^^^^^^^^^^^^^^ cannot access extern static (DefId(0:4 ~ issue_28324[67ae]::{extern#0}::error_message_count))
error[E0133]: use of extern static is unsafe and requires unsafe function or block
##[error]  --> /checkout/tests/ui/extern/issue-28324.rs:5:25
   |
   |
LL | pub static BAZ: u32 = *&error_message_count;
   |
   = note: extern statics are not controlled by the Rust type system: invalid data, aliasing violations or data races will cause undefined behavior

error: aborting due to 2 previous errors
---

---- [ui] tests/ui/higher-ranked/structually-relate-aliases.rs stdout ----
diff of 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, !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) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::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[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::ToUnit::Unit) }
3 error[E0277]: the trait bound `for<'a> T: ToUnit<'a>` is not satisfied
5    |


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/higher-ranked/structually-relate-aliases/structually-relate-aliases.stderr
To update references, rerun the tests and pass the `--bless` flag
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[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::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[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::ToUnit::Unit) }
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[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 2 previous errors

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


---- [ui] tests/ui/nll/ty-outlives/impl-trait-captures.rs stdout ----
diff of stderr:

- error[E0700]: hidden type for `Opaque(DefId(0:13 ~ impl_trait_captures[aeb9]::foo::{opaque#0}), ['a/#0, T, 'a/#0])` captures lifetime that does not appear in bounds
+ error[E0700]: hidden type for `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#0])` captures lifetime that does not appear in bounds
3    |
3    |
4 LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> {
5    |                  --     ------------ opaque type defined here
6    |                  |
6    |                  |
-    |                  hidden type `&ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_)) T` captures the anonymous lifetime defined here
+    |                  hidden type `&ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) T` captures the anonymous lifetime defined here
9    |     ^
10    |


- help: to declare that `Opaque(DefId(0:13 ~ impl_trait_captures[aeb9]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_))` lifetime bound
+ help: to declare that `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))` lifetime bound
12    |
- LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> + ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_)) {
+ LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> + ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) {
15 
16 error: aborting due to 1 previous error



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/nll/ty-outlives/impl-trait-captures/impl-trait-captures.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args nll/ty-outlives/impl-trait-captures.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/nll/ty-outlives/impl-trait-captures.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/nll/ty-outlives/impl-trait-captures" "-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/nll/ty-outlives/impl-trait-captures/auxiliary" "-Zverbose-internals"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0700]: hidden type for `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#0])` captures lifetime that does not appear in bounds
   |
   |
LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> {
   |                  --     ------------ opaque type defined here
   |                  |
   |                  hidden type `&ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) T` captures the anonymous lifetime defined here
   |     ^
   |
   |
help: to declare that `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))` lifetime bound
   |
LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> + ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) {

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0700`.
---
diff of stderr:

2   --> $DIR/issue-14227.rs:4:21
3    |
4 LL | static CRASH: u32 = symbol;
-    |                     ^^^^^^ cannot access extern static (DefId(0:4 ~ issue_14227[1133]::{extern#0}::symbol))
+    |                     ^^^^^^ cannot access extern static (DefId(0:4 ~ issue_14227[bfa8]::{extern#0}::symbol))
7 error[E0133]: use of extern static is unsafe and requires unsafe function or block
8   --> $DIR/issue-14227.rs:4:21



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/statics/issue-14227/issue-14227.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args statics/issue-14227.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/statics/issue-14227.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/statics/issue-14227" "-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/statics/issue-14227/auxiliary"
--- stderr -------------------------------
error[E0080]: could not evaluate static initializer
##[error]  --> /checkout/tests/ui/statics/issue-14227.rs:4:21
   |
   |
LL | static CRASH: u32 = symbol;
   |                     ^^^^^^ cannot access extern static (DefId(0:4 ~ issue_14227[bfa8]::{extern#0}::symbol))
error[E0133]: use of extern static is unsafe and requires unsafe function or block
##[error]  --> /checkout/tests/ui/statics/issue-14227.rs:4:21
   |
LL | static CRASH: u32 = symbol;
---

---- [ui] tests/ui/symbol-names/basic.rs#legacy stdout ----
diff of stderr:

- error: symbol-name(_ZN5basic4main17had874e876c8b1028E)
+ error: symbol-name(_ZN5basic4main17h425f60c1460bfebeE)
3    |
4 LL | #[rustc_symbol_name]

5    | ^^^^^^^^^^^^^^^^^^^^
---
10 LL | #[rustc_symbol_name]


The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.legacy/basic.legacy.stderr
To only update this specific test, also pass `--test-args symbol-names/basic.rs`

error in revision `legacy`: 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/symbol-names/basic.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" "legacy" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.legacy" "-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/symbol-names/basic.legacy/auxiliary" "-Z" "unstable-options" "-C" "symbol-mangling-version=legacy"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_ZN5basic4main17h425f60c1460bfebeE)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^

---

4 LL | #[rustc_symbol_name]
5    | ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(basic[a90d658f4748b9d1]::main)
+ error: demangling(basic[1d31c6bdd414b556]::main)
9    |
10 LL | #[rustc_symbol_name]



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.v0/basic.v0.stderr
To only update this specific test, also pass `--test-args symbol-names/basic.rs`


error in revision `v0`: 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/symbol-names/basic.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" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.v0" "-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/symbol-names/basic.v0/auxiliary" "-C" "symbol-mangling-version=v0"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_RNvCs2voSE3sbJaI_5basic4main)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^


error: demangling(basic[1d31c6bdd414b556]::main)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^

---

4 LL | #[rustc_symbol_name]
5    | ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(<foreign_types[fcdd87e190ad88e3]::Check<foreign_types[fcdd87e190ad88e3]::ForeignType>>)
+ error: demangling(<foreign_types[6ede1cd427a4ef5f]::Check<foreign_types[6ede1cd427a4ef5f]::ForeignType>>)
9    |
10 LL | #[rustc_symbol_name]



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/foreign-types/foreign-types.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args symbol-names/foreign-types.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/symbol-names/foreign-types.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" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/foreign-types" "-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/symbol-names/foreign-types/auxiliary" "-C" "symbol-mangling-version=v0"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_RMCs9w92neTrVg1_13foreign_typesINtB0_5CheckNtB0_11ForeignTypeE)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^


error: demangling(<foreign_types[6ede1cd427a4ef5f]::Check<foreign_types[6ede1cd427a4ef5f]::ForeignType>>)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<foreign_types::Check<foreign_types::ForeignType>>)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^

---

4 LL |         #[rustc_symbol_name]
5    |         ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(<impl1[d5591eb39db23cbb]::foo::Foo>::bar)
+ error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::bar)
9    |
10 LL |         #[rustc_symbol_name]

28 LL |         #[rustc_symbol_name]
28 LL |         #[rustc_symbol_name]
29    |         ^^^^^^^^^^^^^^^^^^^^
30 
- error: demangling(<impl1[d5591eb39db23cbb]::foo::Foo>::baz)
+ error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::baz)
33    |
34 LL |         #[rustc_symbol_name]

52 LL |             #[rustc_symbol_name]
52 LL |             #[rustc_symbol_name]
53    |             ^^^^^^^^^^^^^^^^^^^^
54 
- error: demangling(<[&dyn impl1[d5591eb39db23cbb]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[d5591eb39db23cbb]::AutoTrait; 3usize] as impl1[d5591eb39db23cbb]::main::{closure#1}::Bar>::method)
+ error: demangling(<[&dyn impl1[bd079427ba4c1c6d]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[bd079427ba4c1c6d]::AutoTrait; 3usize] as impl1[bd079427ba4c1c6d]::main::{closure#1}::Bar>::method)
57    |
58 LL |             #[rustc_symbol_name]



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/impl1.v0/impl1.v0.stderr
To only update this specific test, also pass `--test-args symbol-names/impl1.rs`


error in revision `v0`: 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/symbol-names/impl1.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" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/impl1.v0" "-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/symbol-names/impl1.v0/auxiliary" "-C" "symbol-mangling-version=v0"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_RNvMNtCsgecpn31VegH_5impl13fooNtB2_3Foo3bar)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::bar)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<impl1::foo::Foo>::bar)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: def-path(foo::Foo::bar)
##[error]  --> /checkout/tests/ui/symbol-names/impl1.rs:21:9
   |
LL |         #[rustc_def_path]
   |         ^^^^^^^^^^^^^^^^^

error: symbol-name(_RNvMNtCsgecpn31VegH_5impl13barNtNtB4_3foo3Foo3baz)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::baz)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<impl1::foo::Foo>::baz)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: def-path(bar::<impl foo::Foo>::baz)
   |
LL |         #[rustc_def_path]
   |         ^^^^^^^^^^^^^^^^^


error: symbol-name(_RNvXNCNvCsgecpn31VegH_5impl14mains_0ARDNtB6_3Foop5AssocFG_KCRL0_hvEuNtB6_9AutoTraitEL_j3_NtB2_3Bar6method)
   |
LL |             #[rustc_symbol_name]
   |             ^^^^^^^^^^^^^^^^^^^^


error: demangling(<[&dyn impl1[bd079427ba4c1c6d]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[bd079427ba4c1c6d]::AutoTrait; 3usize] as impl1[bd079427ba4c1c6d]::main::{closure#1}::Bar>::method)
   |
LL |             #[rustc_symbol_name]
   |             ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<[&dyn impl1::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1::AutoTrait; 3] as impl1::main::{closure#1}::Bar>::method)
   |
LL |             #[rustc_symbol_name]
   |             ^^^^^^^^^^^^^^^^^^^^


error: def-path(<[&dyn Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + AutoTrait; 3] as main::{closure#1}::Bar>::method)
   |
LL |             #[rustc_def_path]
   |             ^^^^^^^^^^^^^^^^^


error: aborting due to 12 previous errors
------------------------------------------


---- [ui] tests/ui/symbol-names/issue-60925.rs#legacy stdout ----
diff of stderr:

- error: symbol-name(_ZN11issue_609253foo37Foo$LT$issue_60925..llv$u6d$..Foo$GT$3foo17haf0d0ad2255e29c6E)
+ error: symbol-name(_ZN11issue_609253foo37Foo$LT$issue_60925..llv$u6d$..Foo$GT$3foo17hdb9bd5def14d3426E)
3    |
4 LL |         #[rustc_symbol_name]

5    |         ^^^^^^^^^^^^^^^^^^^^
5    |         ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo::haf0d0ad2255e29c6)
+ error: demangling(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo::hdb9bd5def14d3426)
9    |
10 LL |         #[rustc_symbol_name]



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.legacy/issue-60925.legacy.stderr
To only update this specific test, also pass `--test-args symbol-names/issue-60925.rs`

error in revision `legacy`: 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/symbol-names/issue-60925.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" "legacy" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.legacy" "-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/symbol-names/issue-60925.legacy/auxiliary" "-Z" "unstable-options" "-C" "symbol-mangling-version=legacy"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_ZN11issue_609253foo37Foo$LT$issue_60925..llv$u6d$..Foo$GT$3foo17hdb9bd5def14d3426E)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo::hdb9bd5def14d3426)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^

---

4 LL |         #[rustc_symbol_name]
5    |         ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(<issue_60925[294a1bee3c0c9a2f]::foo::Foo<issue_60925[294a1bee3c0c9a2f]::llvm::Foo>>::foo)
+ error: demangling(<issue_60925[303c0853c3e31d83]::foo::Foo<issue_60925[303c0853c3e31d83]::llvm::Foo>>::foo)
9    |
10 LL |         #[rustc_symbol_name]



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.v0/issue-60925.v0.stderr
To only update this specific test, also pass `--test-args symbol-names/issue-60925.rs`


error in revision `v0`: 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/symbol-names/issue-60925.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" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.v0" "-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/symbol-names/issue-60925.v0/auxiliary" "-C" "symbol-mangling-version=v0"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_RNvMNtCs48KzjyMKuHf_11issue_609253fooINtB2_3FooNtNtB4_4llvm3FooE3foo)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(<issue_60925[303c0853c3e31d83]::foo::Foo<issue_60925[303c0853c3e31d83]::llvm::Foo>>::foo)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<issue_60925::foo::Foo<issue_60925::llvm::Foo>>::foo)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^

---

4 LL |     #[rustc_symbol_name]
5    |     ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(<issue_75326[189ebc60e18860d7]::Foo<_, _> as issue_75326[189ebc60e18860d7]::Iterator2>::next)
+ error: demangling(<issue_75326[1291d23e080b30fa]::Foo<_, _> as issue_75326[1291d23e080b30fa]::Iterator2>::next)
9    |
10 LL |     #[rustc_symbol_name]



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-75326.v0/issue-75326.v0.stderr
To only update this specific test, also pass `--test-args symbol-names/issue-75326.rs`


error in revision `v0`: 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/symbol-names/issue-75326.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" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-75326.v0" "-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/symbol-names/issue-75326.v0/auxiliary" "-C" "symbol-mangling-version=v0"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_RNvXINICs1AQqzcb8TPi_11issue_75326s_0pppEINtB5_3FooppENtB5_9Iterator24nextB5_)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling(<issue_75326[1291d23e080b30fa]::Foo<_, _> as issue_75326[1291d23e080b30fa]::Iterator2>::next)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<issue_75326::Foo<_, _> as issue_75326::Iterator2>::next)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^

---

4 LL |     #[rustc_symbol_name]
5    |     ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects[3c073c57f94bedc2]::Bar>::method)
+ error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects[a60e12d94d485df1]::Bar>::method)
9    |
10 LL |     #[rustc_symbol_name]

22 LL |     #[rustc_symbol_name]
22 LL |     #[rustc_symbol_name]
23    |     ^^^^^^^^^^^^^^^^^^^^
24 
- error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[3c073c57f94bedc2]::Foo>::method)
+ error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[a60e12d94d485df1]::Foo>::method)
27    |
28 LL |     #[rustc_symbol_name]

40 LL |     #[rustc_symbol_name]
40 LL |     #[rustc_symbol_name]
41    |     ^^^^^^^^^^^^^^^^^^^^
42 
- error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[3c073c57f94bedc2]::Baz>::method)
+ error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[a60e12d94d485df1]::Baz>::method)
45    |
46 LL |     #[rustc_symbol_name]



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


error in revision `v0`: 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/symbol-names/trait-objects.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" "v0" "--check-cfg" "cfg(FALSE,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/trait-objects.v0" "-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/symbol-names/trait-objects.v0/auxiliary" "-C" "symbol-mangling-version=v0"
--- stderr -------------------------------
--- stderr -------------------------------
error: symbol-name(_RNvXCsefUduAgpPqv_13trait_objectsRDG_INtNtNtCs5IOwK1fz3pc_4core3ops8function5FnMutTRL0_hEEp6OutputuEL_NtB2_3Bar6method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling(<&dyn for<'a> core[42a8416f294fe160]::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects[a60e12d94d485df1]::Bar>::method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<&dyn for<'a> core::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects::Bar>::method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: symbol-name(_RNvXs_CsefUduAgpPqv_13trait_objectsRDG_INtNtNtCs5IOwK1fz3pc_4core3ops8function5FnMutTRL0_hEEp6OutputuNtNtBI_6marker4SendEL_NtB4_3Foo6method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling(<&dyn for<'a> core[42a8416f294fe160]::ops::function::FnMut<(&'a u8,), Output = ()> + core[42a8416f294fe160]::marker::Send as trait_objects[a60e12d94d485df1]::Foo>::method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<&dyn for<'a> core::ops::function::FnMut<(&'a u8,), Output = ()> + core::marker::Send as trait_objects::Foo>::method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: symbol-name(_RNvXs0_CsefUduAgpPqv_13trait_objectsRDG_INtNtNtCs5IOwK1fz3pc_4core3ops8function5FnMutTRL0_hEEp6OutputuNtNtBJ_6marker4SendEL_NtB5_3Baz6method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling(<&dyn for<'a> core[42a8416f294fe160]::ops::function::FnMut<(&'a u8,), Output = ()> + core[42a8416f294fe160]::marker::Send as trait_objects[a60e12d94d485df1]::Baz>::method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling-alt(<&dyn for<'a> core::ops::function::FnMut<(&'a u8,), Output = ()> + core::marker::Send as trait_objects::Baz>::method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: aborting due to 9 previous errors
------------------------------------------


---- [ui] tests/ui/thir-print/thir-flat.rs stdout ----
diff of stdout:

- DefId(0:3 ~ thir_flat[7b97]::main):
+ DefId(0:3 ~ thir_flat[e7b1]::main):
2 Thir {
3     body_type: Fn(

29             kind: Scope {
30                 region_scope: Node(2),
31                 lint_level: Explicit(
31                 lint_level: Explicit(
-                     HirId(DefId(0:3 ~ thir_flat[7b97]::main).2),
+                     HirId(DefId(0:3 ~ thir_flat[e7b1]::main).2),
34                 value: e0,
35             },



The actual stdout differed from the expected stdout.
Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat/thir-flat.stdout
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args thir-print/thir-flat.rs`

error: 1 errors occurred comparing output.
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/thir-print/thir-flat.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/thir-print/thir-flat" "-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/thir-print/thir-flat/auxiliary" "-Z" "unpretty=thir-flat"
--- stdout -------------------------------
DefId(0:3 ~ thir_flat[e7b1]::main):
Thir {
    body_type: Fn(
    ),
    arms: [],
    blocks: [
        Block {
        Block {
            targeted_by_break: false,
            region_scope: Node(1),
            span: /checkout/tests/ui/thir-print/thir-flat.rs:4:15: 4:17 (#0),
            stmts: [],
            expr: None,
            safety_mode: Safe,
    ],
    exprs: [
        Expr {
            kind: Block {
            kind: Block {
                block: b0,
            },
            ty: (),
            temp_lifetime: Some(
                Node(2),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat.rs:4:15: 4:17 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(2),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:3 ~ thir_flat[e7b1]::main).2),
                value: e0,
            },
            ty: (),
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(2),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat.rs:4:15: 4:17 (#0),
    ],
    stmts: [],
    params: [],
}
}
------------------------------------------
stderr: none


---- [ui] tests/ui/thir-print/thir-flat-const-variant.rs stdout ----
diff of stdout:

- DefId(0:8 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR1):
+ DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1):
2 Thir {
3     body_type: Const(

20             kind: Scope {
21                 region_scope: Node(7),
22                 lint_level: Explicit(
22                 lint_level: Explicit(
-                     HirId(DefId(0:8 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR1).7),
+                     HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).7),
25                 value: e0,
26             },

56             kind: Scope {
56             kind: Scope {
57                 region_scope: Node(3),
58                 lint_level: Explicit(
-                     HirId(DefId(0:8 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR1).3),
+                     HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).3),
61                 value: e2,
62             },

71     params: [],
71     params: [],
72 }
73 
- DefId(0:9 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR2):
+ DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2):
75 Thir {
76     body_type: Const(

93             kind: Scope {
94                 region_scope: Node(8),
95                 lint_level: Explicit(
95                 lint_level: Explicit(
-                     HirId(DefId(0:9 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR2).8),
+                     HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).8),
98                 value: e0,
99             },

129             kind: Scope {
129             kind: Scope {
130                 region_scope: Node(3),
131                 lint_level: Explicit(
-                     HirId(DefId(0:9 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR2).3),
+                     HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).3),
134                 value: e2,
135             },

144     params: [],
144     params: [],
145 }
146 
- DefId(0:10 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR3):
+ DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3):
148 Thir {
149     body_type: Const(

166             kind: Scope {
167                 region_scope: Node(7),
168                 lint_level: Explicit(
168                 lint_level: Explicit(
-                     HirId(DefId(0:10 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR3).7),
+                     HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).7),
171                 value: e0,
172             },

202             kind: Scope {
202             kind: Scope {
203                 region_scope: Node(3),
204                 lint_level: Explicit(
-                     HirId(DefId(0:10 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR3).3),
+                     HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).3),
207                 value: e2,
208             },

217     params: [],
217     params: [],
218 }
219 
- DefId(0:11 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR4):
+ DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4):
221 Thir {
222     body_type: Const(

239             kind: Scope {
240                 region_scope: Node(8),
241                 lint_level: Explicit(
241                 lint_level: Explicit(
-                     HirId(DefId(0:11 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR4).8),
+                     HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).8),
244                 value: e0,
245             },

275             kind: Scope {
275             kind: Scope {
276                 region_scope: Node(3),
277                 lint_level: Explicit(
-                     HirId(DefId(0:11 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR4).3),
+                     HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).3),
280                 value: e2,
281             },

290     params: [],
290     params: [],
291 }
292 
- DefId(0:12 ~ thir_flat_const_variant[1f54]::main):
+ DefId(0:12 ~ thir_flat_const_variant[9a80]::main):
294 Thir {
295     body_type: Fn(

321             kind: Scope {
322                 region_scope: Node(2),
323                 lint_level: Explicit(
323                 lint_level: Explicit(
-                     HirId(DefId(0:12 ~ thir_flat_const_variant[1f54]::main).2),
+                     HirId(DefId(0:12 ~ thir_flat_const_variant[9a80]::main).2),
326                 value: e0,
327             },



The actual stdout differed from the expected stdout.
Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat-const-variant/thir-flat-const-variant.stdout
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args thir-print/thir-flat-const-variant.rs`

error: 1 errors occurred comparing output.
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/thir-print/thir-flat-const-variant.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/thir-print/thir-flat-const-variant" "-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/thir-print/thir-flat-const-variant/auxiliary" "-Z" "unpretty=thir-flat"
--- stdout -------------------------------
DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1):
Thir {
    body_type: Const(
    ),
    arms: [],
    blocks: [],
    exprs: [
---
            ty: (),
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:32: 12:34 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(7),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).7),
                value: e0,
            },
            ty: (),
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:32: 12:34 (#0),
        Expr {
            kind: Adt(
                AdtExpr {
                    adt_def: Foo,
---
            ty: Foo,
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:23: 12:35 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(3),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).3),
                value: e2,
            },
            ty: Foo,
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:23: 12:35 (#0),
    ],
    stmts: [],
    params: [],
}
}

DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2):
Thir {
    body_type: Const(
    ),
    arms: [],
    blocks: [],
    exprs: [
---
            ty: (),
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:33: 13:35 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(8),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).8),
                value: e0,
            },
            ty: (),
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:33: 13:35 (#0),
        Expr {
            kind: Adt(
                AdtExpr {
                    adt_def: Foo,
---
            ty: Foo,
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:23: 13:36 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(3),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).3),
                value: e2,
            },
            ty: Foo,
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:23: 13:36 (#0),
    ],
    stmts: [],
    params: [],
}
}

DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3):
Thir {
    body_type: Const(
    ),
    arms: [],
    blocks: [],
    exprs: [
---
            ty: (),
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:33: 14:35 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(7),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).7),
                value: e0,
            },
            ty: (),
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:33: 14:35 (#0),
        Expr {
            kind: Adt(
                AdtExpr {
                    adt_def: Foo,
---
            ty: Foo,
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:24: 14:36 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(3),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).3),
                value: e2,
            },
            ty: Foo,
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:24: 14:36 (#0),
    ],
    stmts: [],
    params: [],
}
}

DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4):
Thir {
    body_type: Const(
    ),
    arms: [],
    blocks: [],
    exprs: [
---
            ty: (),
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:34: 15:36 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(8),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).8),
                value: e0,
            },
            ty: (),
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:34: 15:36 (#0),
        Expr {
            kind: Adt(
                AdtExpr {
                    adt_def: Foo,
---
            ty: Foo,
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:24: 15:37 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(3),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).3),
                value: e2,
            },
            ty: Foo,
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(3),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:24: 15:37 (#0),
    ],
    stmts: [],
    params: [],
}
}

DefId(0:12 ~ thir_flat_const_variant[9a80]::main):
Thir {
    body_type: Fn(
    ),
    arms: [],
    blocks: [
        Block {
        Block {
            targeted_by_break: false,
            region_scope: Node(1),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:18:11: 18:13 (#0),
            stmts: [],
            expr: None,
            safety_mode: Safe,
    ],
    exprs: [
        Expr {
            kind: Block {
            kind: Block {
                block: b0,
            },
            ty: (),
            temp_lifetime: Some(
                Node(2),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:18:11: 18:13 (#0),
        Expr {
            kind: Scope {
                region_scope: Node(2),
                lint_level: Explicit(
                lint_level: Explicit(
                    HirId(DefId(0:12 ~ thir_flat_const_variant[9a80]::main).2),
                value: e0,
            },
            ty: (),
            temp_lifetime: Some(
            temp_lifetime: Some(
                Node(2),
            ),
            span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:18:11: 18:13 (#0),
    ],
    stmts: [],
    params: [],
}
}
------------------------------------------
stderr: none


---- [ui] tests/ui/thir-print/thir-tree.rs stdout ----
diff of stdout:

- DefId(0:3 ~ thir_tree[7aaa]::main):
+ DefId(0:3 ~ thir_tree[e4e3]::main):
2 params: [
4 body:

9         kind: 
10             Scope {
10             Scope {
11                 region_scope: Node(2)
-                 lint_level: Explicit(HirId(DefId(0:3 ~ thir_tree[7aaa]::main).2))
+                 lint_level: Explicit(HirId(DefId(0:3 ~ thir_tree[e4e3]::main).2))
14                     Expr {
15                         ty: ()



The actual stdout differed from the expected stdout.
Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree/thir-tree.stdout
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args thir-print/thir-tree.rs`

error: 1 errors occurred comparing output.
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/thir-print/thir-tree.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/thir-print/thir-tree" "-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/thir-print/thir-tree/auxiliary" "-Z" "unpretty=thir-tree"
--- stdout -------------------------------
DefId(0:3 ~ thir_tree[e4e3]::main):
params: [
body:
    Expr {
        ty: ()
        temp_lifetime: Some(Node(2))
        temp_lifetime: Some(Node(2))
        span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0)
        kind: 
            Scope {
                region_scope: Node(2)
                lint_level: Explicit(HirId(DefId(0:3 ~ thir_tree[e4e3]::main).2))
                    Expr {
                        ty: ()
                        temp_lifetime: Some(Node(2))
                        span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0)
                        span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0)
                        kind: 
                            Block {
                                targeted_by_break: false
                                span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0)
                                region_scope: Node(1)
                                safety_mode: Safe
                                stmts: []
                                expr: []
                    }
            }
    }
------------------------------------------
------------------------------------------
stderr: none


---- [ui] tests/ui/thir-print/thir-tree-match.rs stdout ----
diff of stdout:

- DefId(0:16 ~ thir_tree_match[fcf8]::has_match):
+ DefId(0:16 ~ thir_tree_match[edc1]::has_match):
2 params: [
3     Param {
4         ty: Foo

5         ty_span: Some($DIR/thir-tree-match.rs:15:19: 15:22 (#0))
6         self_kind: None
-         hir_id: Some(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).1))
+         hir_id: Some(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).1))
8         param: Some( 
9             Pat: {
10                 ty: Foo
13                     Binding {
14                         name: "foo"
15                         mode: BindingMode(No, Not)
15                         mode: BindingMode(No, Not)
-                         var: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).2))
+                         var: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2))
17                         ty: Foo
18                         is_primary: true
19                         subpattern: None
31         kind: 
32             Scope {
33                 region_scope: Node(26)
33                 region_scope: Node(26)
-                 lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).26))
+                 lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).26))
36                     Expr {
37                         ty: bool

52                                         kind: 
52                                         kind: 
53                                             Scope {
54                                                 region_scope: Node(3)
-                                                 lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).3))
+                                                 lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).3))
57                                                     Expr {
58                                                         ty: bool

68                                                                         kind: 
68                                                                         kind: 
69                                                                             Scope {
70                                                                                 region_scope: Node(4)
-                                                                                 lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).4))
+                                                                                 lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).4))
73                                                                                     Expr {
74                                                                                         ty: Foo


76                                                                                         span: $DIR/thir-tree-match.rs:16:11: 16:14 (#0)
78                                                                                             VarRef {
78                                                                                             VarRef {
-                                                                                                 id: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).2))
+                                                                                                 id: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2))
81                                                                                     }
82                                                                             }

91                                                                                     Variant {
91                                                                                     Variant {
92                                                                                         adt_def: 
93                                                                                             AdtDef {
-                                                                                                 did: DefId(0:10 ~ thir_tree_match[fcf8]::Foo)
-                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[fcf8]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[fcf8]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[fcf8]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[fcf8])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[fcf8]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[fcf8]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
+                                                                                                 did: DefId(0:10 ~ thir_tree_match[edc1]::Foo)
+                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
96                                                                                                 flags: IS_ENUM
-                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3477539199540094892 }
+                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 }
99                                                                                         variant_index: 0
100                                                                                         subpatterns: [

105                                                                                                     Variant {
105                                                                                                     Variant {
106                                                                                                         adt_def: 
107                                                                                                             AdtDef {
-                                                                                                                 did: DefId(0:3 ~ thir_tree_match[fcf8]::Bar)
-                                                                                                                 variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[fcf8]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[fcf8]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[fcf8]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[fcf8]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[fcf8]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[fcf8]::Bar::Third::{constructor#0}))), name: "Third", discr: Relative(2), fields: [], tainted: None, flags:  }]
+                                                                                                                 did: DefId(0:3 ~ thir_tree_match[edc1]::Bar)
+                                                                                                                 variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[edc1]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[edc1]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[edc1]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[edc1]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[edc1]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[edc1]::Bar::Third::{constructor#0}))), name: "Third", discr: Relative(2), fields: [], tainted: None, flags:  }]
110                                                                                                                 flags: IS_ENUM
-                                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 10333377570083945360 }
+                                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 9953324668377615195 }
113                                                                                                         variant_index: 0
114                                                                                                         subpatterns: []

128                                                                                 kind: 
128                                                                                 kind: 
129                                                                                     Scope {
130                                                                                         region_scope: Node(13)
-                                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).13))
+                                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).13))
133                                                                                             Expr {
134                                                                                                 ty: bool

140                                                                                             }
140                                                                                             }
141                                                                                     }
142                                                                             }
-                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).12))
+                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).12))
144                                                                         scope: Node(12)
145                                                                         span: $DIR/thir-tree-match.rs:17:9: 17:40 (#0)

153                                                                                     Variant {
154                                                                                         adt_def: 
155                                                                                             AdtDef {
155                                                                                             AdtDef {
-                                                                                                 did: DefId(0:10 ~ thir_tree_match[fcf8]::Foo)
-                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[fcf8]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[fcf8]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[fcf8]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[fcf8])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[fcf8]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[fcf8]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
+                                                                                                 did: DefId(0:10 ~ thir_tree_match[edc1]::Foo)
+                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
158                                                                                                 flags: IS_ENUM
-                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3477539199540094892 }
+                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 }
161                                                                                         variant_index: 0
162                                                                                         subpatterns: [

180                                                                                 kind: 
180                                                                                 kind: 
181                                                                                     Scope {
182                                                                                         region_scope: Node(19)
-                                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).19))
+                                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).19))
185                                                                                             Expr {
186                                                                                                 ty: bool

192                                                                                             }
192                                                                                             }
193                                                                                     }
194                                                                             }
-                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).18))
+                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).18))
196                                                                         scope: Node(18)
197                                                                         span: $DIR/thir-tree-match.rs:18:9: 18:32 (#0)

205                                                                                     Variant {
206                                                                                         adt_def: 
207                                                                                             AdtDef {
207                                                                                             AdtDef {
-                                                                                                 did: DefId(0:10 ~ thir_tree_match[fcf8]::Foo)
-                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[fcf8]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[fcf8]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[fcf8]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[fcf8])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[fcf8]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[fcf8]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
+                                                                                                 did: DefId(0:10 ~ thir_tree_match[edc1]::Foo)
+                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
210                                                                                                 flags: IS_ENUM
-                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3477539199540094892 }
+                                                                                                 repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 }
213                                                                                         variant_index: 1
214                                                                                         subpatterns: []

224                                                                                 kind: 
224                                                                                 kind: 
225                                                                                     Scope {
226                                                                                         region_scope: Node(24)
-                                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).24))
+                                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).24))
229                                                                                             Expr {
230                                                                                                 ty: bool

236                                                                                             }
236                                                                                             }
237                                                                                     }
238                                                                             }
-                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).23))
+                                                                         lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).23))
240                                                                         scope: Node(23)
241                                                                         span: $DIR/thir-tree-match.rs:19:9: 19:28 (#0)

251     }
252 
253 
253 
- DefId(0:17 ~ thir_tree_match[fcf8]::main):
+ DefId(0:17 ~ thir_tree_match[edc1]::main):
255 params: [
257 body:

262         kind: 
263             Scope {
263             Scope {
264                 region_scope: Node(2)
-                 lint_level: Explicit(HirId(DefId(0:17 ~ thir_tree_match[fcf8]::main).2))
+                 lint_level: Explicit(HirId(DefId(0:17 ~ thir_tree_match[edc1]::main).2))
267                     Expr {
268                         ty: ()



The actual stdout differed from the expected stdout.
Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree-match/thir-tree-match.stdout
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args thir-print/thir-tree-match.rs`

error: 1 errors occurred comparing output.
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/thir-print/thir-tree-match.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/thir-print/thir-tree-match" "-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/thir-print/thir-tree-match/auxiliary" "-Zunpretty=thir-tree"
--- stdout -------------------------------
DefId(0:16 ~ thir_tree_match[edc1]::has_match):
params: [
    Param {
        ty: Foo
        ty_span: Some(/checkout/tests/ui/thir-print/thir-tree-match.rs:15:19: 15:22 (#0))
        self_kind: None
        hir_id: Some(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).1))
        param: Some( 
            Pat: {
                ty: Foo
                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:14: 15:17 (#0)
                kind: PatKind {
                        name: "foo"
                        mode: BindingMode(No, Not)
                        mode: BindingMode(No, Not)
                        var: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2))
                        ty: Foo
                        is_primary: true
                        subpattern: None
                }
            }
        )
    }
    }
]
body:
    Expr {
        ty: bool
        temp_lifetime: Some(Node(26))
        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0)
        kind: 
            Scope {
                region_scope: Node(26)
                lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).26))
                    Expr {
                        ty: bool
                        temp_lifetime: Some(Node(26))
                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0)
                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0)
                        kind: 
                            Block {
                                targeted_by_break: false
                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0)
                                region_scope: Node(25)
                                safety_mode: Safe
                                stmts: []
                                    Expr {
                                        ty: bool
                                        temp_lifetime: Some(Node(26))
                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:5: 20:6 (#0)
                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:5: 20:6 (#0)
                                        kind: 
                                            Scope {
                                                region_scope: Node(3)
                                                lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).3))
                                                    Expr {
                                                        ty: bool
                                                        temp_lifetime: Some(Node(26))
                                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:5: 20:6 (#0)
---
                                                                        ty: Foo
                                                                        temp_lifetime: Some(Node(26))
                                                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:11: 16:14 (#0)
                                                                        kind: 
                                                                            Scope {
                                                                                region_scope: Node(4)
                                                                                lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).4))
                                                                                    Expr {
                                                                                        ty: Foo
                                                                                        temp_lifetime: Some(Node(26))
                                                                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:11: 16:14 (#0)
                                                                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:11: 16:14 (#0)
                                                                                        kind: 
                                                                                            VarRef {
                                                                                                id: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2))
                                                                                    }
                                                                            }
                                                                    }
                                                                arms: [
                                                                arms: [
                                                                    Arm {
                                                                        pattern: 
                                                                            Pat: {
                                                                                ty: Foo
                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:9: 17:32 (#0)
                                                                                kind: PatKind {
                                                                                    Variant {
                                                                                        adt_def: 
                                                                                            AdtDef {
                                                                                                did: DefId(0:10 ~ thir_tree_match[edc1]::Foo)
                                                                                                variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
                                                                                                flags: IS_ENUM
                                                                                                repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 }
                                                                                        variant_index: 0
                                                                                        subpatterns: [
                                                                                            Pat: {
                                                                                                ty: Bar
                                                                                                ty: Bar
                                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:21: 17:31 (#0)
                                                                                                kind: PatKind {
                                                                                                    Variant {
                                                                                                        adt_def: 
                                                                                                            AdtDef {
                                                                                                                did: DefId(0:3 ~ thir_tree_match[edc1]::Bar)
                                                                                                                variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[edc1]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[edc1]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[edc1]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[edc1]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[edc1]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[edc1]::Bar::Third::{constructor#0}))), name: "Third", discr: Relative(2), fields: [], tainted: None, flags:  }]
                                                                                                                flags: IS_ENUM
                                                                                                                repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 9953324668377615195 }
                                                                                                        variant_index: 0
                                                                                                        subpatterns: []
                                                                                                    }
                                                                                                }
---
                                                                                ty: bool
                                                                                temp_lifetime: Some(Node(12))
                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0)
                                                                                kind: 
                                                                                    Scope {
                                                                                        region_scope: Node(13)
                                                                                        lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).13))
                                                                                            Expr {
                                                                                                ty: bool
                                                                                                temp_lifetime: Some(Node(12))
                                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0)
                                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0)
                                                                                                kind: 
                                                                                                    Literal( lit: Spanned { node: Bool(true), span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0) }, neg: false)
                                                                                            }
                                                                                    }
                                                                            }
                                                                            }
                                                                        lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).12))
                                                                        scope: Node(12)
                                                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:9: 17:40 (#0)
                                                                    Arm {
                                                                        pattern: 
                                                                            Pat: {
                                                                                ty: Foo
                                                                                ty: Foo
                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:9: 18:23 (#0)
                                                                                kind: PatKind {
                                                                                    Variant {
                                                                                        adt_def: 
                                                                                            AdtDef {
                                                                                                did: DefId(0:10 ~ thir_tree_match[edc1]::Foo)
                                                                                                variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
                                                                                                flags: IS_ENUM
                                                                                                repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 }
                                                                                        variant_index: 0
                                                                                        subpatterns: [
                                                                                            Pat: {
                                                                                                ty: Bar
---
                                                                                ty: bool
                                                                                temp_lifetime: Some(Node(18))
                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0)
                                                                                kind: 
                                                                                    Scope {
                                                                                        region_scope: Node(19)
                                                                                        lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).19))
                                                                                            Expr {
                                                                                                ty: bool
                                                                                                temp_lifetime: Some(Node(18))
                                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0)
                                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0)
                                                                                                kind: 
                                                                                                    Literal( lit: Spanned { node: Bool(false), span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0) }, neg: false)
                                                                                            }
                                                                                    }
                                                                            }
                                                                            }
                                                                        lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).18))
                                                                        scope: Node(18)
                                                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:9: 18:32 (#0)
                                                                    Arm {
                                                                        pattern: 
                                                                            Pat: {
                                                                                ty: Foo
                                                                                ty: Foo
                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:9: 19:20 (#0)
                                                                                kind: PatKind {
                                                                                    Variant {
                                                                                        adt_def: 
                                                                                            AdtDef {
                                                                                                did: DefId(0:10 ~ thir_tree_match[edc1]::Foo)
                                                                                                variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags:  }]
                                                                                                flags: IS_ENUM
                                                                                                repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 }
                                                                                        variant_index: 1
                                                                                        subpatterns: []
                                                                                    }
                                                                                }
---
                                                                                ty: bool
                                                                                temp_lifetime: Some(Node(23))
                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0)
                                                                                kind: 
                                                                                    Scope {
                                                                                        region_scope: Node(24)
                                                                                        lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).24))
                                                                                            Expr {
                                                                                                ty: bool
                                                                                                temp_lifetime: Some(Node(23))
                                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0)
                                                                                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0)
                                                                                                kind: 
                                                                                                    Literal( lit: Spanned { node: Bool(true), span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0) }, neg: false)
                                                                                            }
                                                                                    }
                                                                            }
                                                                            }
                                                                        lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).23))
                                                                        scope: Node(23)
                                                                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:9: 19:28 (#0)
                                                                ]
                                                            }
                                                    }
                                            }
                                            }
                                    }
                            }
                    }
            }
    }


DefId(0:17 ~ thir_tree_match[edc1]::main):
params: [
body:
    Expr {
        ty: ()
        temp_lifetime: Some(Node(2))
        temp_lifetime: Some(Node(2))
        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0)
        kind: 
            Scope {
                region_scope: Node(2)
                lint_level: Explicit(HirId(DefId(0:17 ~ thir_tree_match[edc1]::main).2))
                    Expr {
                        ty: ()
                        temp_lifetime: Some(Node(2))
                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0)
                        span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0)
                        kind: 
                            Block {
                                targeted_by_break: false
                                span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0)
                                region_scope: Node(1)
                                safety_mode: Safe
                                stmts: []
                                expr: []
                    }
            }
    }
------------------------------------------
---

25 LL | trait ToUnit<'a> {
26    | ^^^^^^^^^^^^^^^^
27 
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) }
-  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
32 error[E0119]: conflicting implementations of trait `Overlap<fn(_)>` for type `fn(_)`
34    |


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/traits/next-solver/issue-118950-root-region/issue-118950-root-region.stderr
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args traits/next-solver/issue-118950-root-region.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/next-solver/issue-118950-root-region.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/next-solver/issue-118950-root-region" "-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/next-solver/issue-118950-root-region/auxiliary" "-Znext-solver"
--- stderr -------------------------------
error[E0412]: cannot find type `Missing` in this scope
##[error]  --> /checkout/tests/ui/traits/next-solver/issue-118950-root-region.rs:19:55
   |
   |
LL | impl<T> Overlap<for<'a> fn(Assoc<'a, T>)> for T where Missing: Overlap<T> {}

warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes
##[warning]  --> /checkout/tests/ui/traits/next-solver/issue-118950-root-region.rs:5:12
   |
   |
LL | #![feature(lazy_type_alias)]
   |            ^^^^^^^^^^^^^^^
   |
   = note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
   = note: `#[warn(incomplete_features)]` on by default

error[E0277]: the trait bound `*const T: ToUnit<'a>` is not satisfied
   |
   |
LL | type Assoc<'a, T> = <*const T as ToUnit<'a>>::Unit;
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ToUnit<'a>` is not implemented for `*const T`
help: this trait has no implementations, consider adding one
  --> /checkout/tests/ui/traits/next-solver/issue-118950-root-region.rs:8:1
   |
LL | trait ToUnit<'a> {
LL | trait ToUnit<'a> {
   | ^^^^^^^^^^^^^^^^

 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) }
error[E0119]: conflicting implementations of trait `Overlap<fn(_)>` for type `fn(_)`
   |
   |
LL | impl<T> Overlap<T> for T {}
LL |
LL |
LL | impl<T> Overlap<for<'a> fn(Assoc<'a, T>)> for T where Missing: Overlap<T> {}
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(_)`
error: aborting due to 3 previous errors; 1 warning emitted

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


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

- error: cannot check whether the hidden type of `auto_trait_leakage3[211d]::m::Foo::{opaque#0}` satisfies auto traits
+ error: cannot check whether the hidden type of `auto_trait_leakage3[ae2e]::m::Foo::{opaque#0}` satisfies auto traits
3    |
3    |
4 LL |         is_send(foo());

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/auto-trait-leakage3/auto-trait-leakage3.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 type-alias-impl-trait/auto-trait-leakage3.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/auto-trait-leakage3.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/auto-trait-leakage3" "-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/auto-trait-leakage3/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error: cannot check whether the hidden type of `auto_trait_leakage3[ae2e]::m::Foo::{opaque#0}` satisfies auto traits
   |
   |
LL |         is_send(foo());
   |         |
   |         required by a bound introduced by this call
   |
   |
   = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule
note: opaque type is declared here
   |
LL |     pub type Foo = impl std::fmt::Debug;
   |                    ^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `is_send`
note: required by a bound in `is_send`
  --> /checkout/tests/ui/type-alias-impl-trait/auto-trait-leakage3.rs:17:19
   |
LL |     fn is_send<T: Send>(_: T) {}

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



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

- error: cannot check whether the hidden type of `inference_cycle[4ecc]::m::Foo::{opaque#0}` satisfies auto traits
+ error: cannot check whether the hidden type of `inference_cycle[7d9a]::m::Foo::{opaque#0}` satisfies auto traits
3    |
3    |
4 LL |         is_send(foo());

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/inference-cycle/inference-cycle.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 type-alias-impl-trait/inference-cycle.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/inference-cycle.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/inference-cycle" "-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/inference-cycle/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error: cannot check whether the hidden type of `inference_cycle[7d9a]::m::Foo::{opaque#0}` satisfies auto traits
   |
   |
LL |         is_send(foo());
   |         |
   |         required by a bound introduced by this call
   |
   |
   = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule
note: opaque type is declared here
   |
LL |     pub type Foo = impl std::fmt::Debug;
   |                    ^^^^^^^^^^^^^^^^^^^^
note: required by a bound in `is_send`
note: required by a bound in `is_send`
  --> /checkout/tests/ui/type-alias-impl-trait/inference-cycle.rs:21:19
   |
LL |     fn is_send<T: Send>(_: T) {}

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



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

- error: cannot check whether the hidden type of `reveal_local[9507]::Foo::{opaque#0}` satisfies auto traits
+ error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits
2   --> $DIR/reveal_local.rs:12:15
4 LL |     is_send::<Foo>();


16 LL | fn is_send<T: Send>() {}
18 
18 
- error: cannot check whether the hidden type of `reveal_local[9507]::Foo::{opaque#0}` satisfies auto traits
+ error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits
20   --> $DIR/reveal_local.rs:22:15
22 LL |     is_send::<Foo>();


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/type-alias-impl-trait/reveal_local/reveal_local.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/reveal_local.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/reveal_local.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/reveal_local" "-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/reveal_local/auxiliary"
--- stderr -------------------------------
--- stderr -------------------------------
error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits
   |
LL |     is_send::<Foo>();
   |               ^^^
   |
   |
   = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule
note: opaque type is declared here
   |
LL | type Foo = impl Debug;
   |            ^^^^^^^^^^
note: required by a bound in `is_send`
note: required by a bound in `is_send`
  --> /checkout/tests/ui/type-alias-impl-trait/reveal_local.rs:7:15
   |
LL | fn is_send<T: Send>() {}


error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits
   |
LL |     is_send::<Foo>();
   |               ^^^
   |
   |
   = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule
note: opaque type is declared here
   |
LL | type Foo = impl Debug;
   |            ^^^^^^^^^^
note: required by a bound in `is_send`
note: required by a bound in `is_send`
  --> /checkout/tests/ui/type-alias-impl-trait/reveal_local.rs:7:15
   |
LL | fn is_send<T: Send>() {}

error: aborting due to 2 previous errors
------------------------------------------



---- [ui] tests/ui/where-clauses/higher-ranked-fn-type.rs#verbose stdout ----
diff of stderr:

- error[E0277]: the trait bound `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), "'b") ()): Foo` is not satisfied
+ error[E0277]: the trait bound `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ()): Foo` is not satisfied
3    |
4 LL |     called()


-    |     ^^^^^^^^ the trait `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), "'b") ())`
+    |     ^^^^^^^^ the trait `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ())`
7 help: this trait has no implementations, consider adding one
8   --> $DIR/higher-ranked-fn-type.rs:6:1



The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/where-clauses/higher-ranked-fn-type.verbose/higher-ranked-fn-type.verbose.stderr
To only update this specific test, also pass `--test-args where-clauses/higher-ranked-fn-type.rs`

error in revision `verbose`: 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/where-clauses/higher-ranked-fn-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" "verbose" "--check-cfg" "cfg(FALSE,quiet,verbose)" "--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/where-clauses/higher-ranked-fn-type.verbose" "-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/where-clauses/higher-ranked-fn-type.verbose/auxiliary" "-Zverbose-internals"
--- stderr -------------------------------
--- stderr -------------------------------
error[E0277]: the trait bound `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ()): Foo` is not satisfied
   |
LL |     called()
LL |     called()
   |     ^^^^^^^^ the trait `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ())`
help: this trait has no implementations, consider adding one
  --> /checkout/tests/ui/where-clauses/higher-ranked-fn-type.rs:6:1
   |
LL | trait Foo {
LL | trait Foo {
   | ^^^^^^^^^
note: required by a bound in `called`
  --> /checkout/tests/ui/where-clauses/higher-ranked-fn-type.rs:12:25
   |
LL | fn called()
   |    ------ required by a bound in this function
LL | where
LL |     for<'b> fn(&'b ()): Foo,
   |                         ^^^ required by this bound in `called`
error: aborting due to 1 previous error

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

@bors
Copy link
Contributor

bors commented Jul 15, 2024

☀️ Try build successful - checks-actions
Build commit: 6f5329c (6f5329cc5bb129002b570e72f1bb9f088c1c3e2c)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (6f5329c): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
26.2% [0.8%, 62.0%] 271
Regressions ❌
(secondary)
21.8% [0.6%, 122.8%] 238
Improvements ✅
(primary)
-3.3% [-3.3%, -3.3%] 1
Improvements ✅
(secondary)
-1.4% [-2.2%, -0.7%] 2
All ❌✅ (primary) 26.1% [-3.3%, 62.0%] 272

Max RSS (memory usage)

Results (primary 5.0%, secondary 8.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
5.0% [0.6%, 16.8%] 139
Regressions ❌
(secondary)
8.6% [3.6%, 14.8%] 107
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 5.0% [0.6%, 16.8%] 139

Cycles

Results (primary 20.1%, secondary 19.1%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
20.1% [2.6%, 58.3%] 269
Regressions ❌
(secondary)
19.2% [1.8%, 80.6%] 225
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-2.3%, -2.3%] 1
All ❌✅ (primary) 20.1% [2.6%, 58.3%] 269

Binary size

Results (primary -0.0%, secondary -0.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.5%] 19
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 4
Improvements ✅
(primary)
-0.1% [-0.1%, -0.0%] 22
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.0%] 2
All ❌✅ (primary) -0.0% [-0.1%, 0.5%] 41

Bootstrap: 700.525s -> 738.599s (5.44%)
Artifact size: 328.65 MiB -> 252.30 MiB (-23.23%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jul 15, 2024
@Urgau
Copy link
Member Author

Urgau commented Jul 16, 2024

We are seeing regressions up to 122% for secondary benchmarks and up to 62% in primary benchmarks with a mean 26.2% regressions.

Looking at the BOLT-ing of LLVM alone (2 years ago) it didn't even have a impact on instructions directly, granted many things have changed; and while BOLT-ing librustc_driver.so did have a impact on instructions around 2.3% mean. It's no where near the 26.2% regressions we are seeing here.

Those regressions seems to indicate that Blake 3 is not a suitable replacement for our SipHasher for stable hashing of small structs. It might perform much better with bigger inputs (like files), at least that's what is being suggested with their own benchmarks showing a 16Kib input.

In general it seems like Blake 3 is throughput-optimized, while for stable hashing, latency is the most important. It even has a 1024-bit fixed-input buffer, which probably explains why max-rss was so dearly affected.

@lqd
Copy link
Member

lqd commented Jul 16, 2024

To have more up to date results than 2 years ago, as bolt has also evolved since then, you could also do a perf run with only the commit disabling it.

@Noratrieb
Copy link
Member

https://jszym.com/blog/short_input_hash/

@Urgau
Copy link
Member Author

Urgau commented Jul 16, 2024

https://jszym.com/blog/short_input_hash/

Based on the results above and this article, I'm trying Blake2s in #127809.

@Urgau
Copy link
Member Author

Urgau commented Jul 16, 2024

Given the results above (even taking a considerable BOLT margin), Blake3 is probably a dead-end for our use-case.

Closing.

@Urgau Urgau closed this Jul 16, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 16, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants