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 Blake2s #127809

Closed
wants to merge 3 commits into from

Conversation

Urgau
Copy link
Member

@Urgau Urgau commented Jul 16, 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 16, 2024
@Urgau
Copy link
Member Author

Urgau commented Jul 16, 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 16, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 16, 2024
@bors
Copy link
Contributor

bors commented Jul 16, 2024

⌛ Trying commit 9b14ce5 with merge 4172c7c...

@michaelwoerister
Copy link
Member

Given that blake is a cryptographic hash, any subslice of the hash should also be a good quality hash. So going to 128 or 64 bit hashes should not need to use the whole value.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Jul 16, 2024

☀️ Try build successful - checks-actions
Build commit: 4172c7c (4172c7c92a5b042109e264c919d20dd64f98a253)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (4172c7c): comparison URL.

Overall result: ❌ regressions - 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)
29.4% [0.7%, 70.4%] 275
Regressions ❌
(secondary)
29.4% [0.6%, 598.7%] 244
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 29.4% [0.7%, 70.4%] 275

Max RSS (memory usage)

Results (primary 0.4%)

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)
3.2% [3.2%, 3.2%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.4% [-2.4%, -2.4%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.4% [-2.4%, 3.2%] 2

Cycles

Results (primary 15.0%, secondary 19.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)
15.0% [0.7%, 44.8%] 253
Regressions ❌
(secondary)
19.6% [1.3%, 306.6%] 190
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 15.0% [0.7%, 44.8%] 253

Binary size

Results (primary 0.1%, secondary -0.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)
0.1% [0.0%, 0.5%] 19
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.0% [-0.1%, -0.0%] 10
Improvements ✅
(secondary)
-0.1% [-0.1%, -0.0%] 2
All ❌✅ (primary) 0.1% [-0.1%, 0.5%] 29

Bootstrap: 700.256s -> 708.594s (1.19%)
Artifact size: 328.62 MiB -> 326.28 MiB (-0.71%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jul 16, 2024
@Kobzol
Copy link
Contributor

Kobzol commented Jul 16, 2024

Well, at least max RSS didn't regress now...

@Urgau
Copy link
Member Author

Urgau commented Jul 17, 2024

Unfortunately it seems like Blake2s is also not fast enough for our use-case.

Therefore closing.

@Urgau Urgau closed this Jul 17, 2024
@bjorn3
Copy link
Member

bjorn3 commented Jul 17, 2024

Do we need all uses of StableHasher to be collision free? I did expect some uses of StableHasher to need the hashes to be consistent between compilation sessions (thus using StableHasher), but not depend on collision freedom for correctness.

@the8472
Copy link
Member

the8472 commented Jul 17, 2024

With inputs from https://jszym.com/blog/short_input_hash/

That's measured in python. According to the related HN discussion those benchmarks are dominated by python function call overhead. So they're probably not a good indicator for hashing performance of a native rust impl.

To get good cryptographic performance for short inputs we probably need something specialized for that purpose that makes use of hardware acceleration like Haraka (rust impl; found on cryptography exchange) .

But such constructions are fairly new and not mainstream, so their cryptographic claims aren't battle-tested.

@Urgau
Copy link
Member Author

Urgau commented Jul 17, 2024

Do we need all uses of StableHasher to be collision free? I did expect some uses of StableHasher to need the hashes to be consistent between compilation sessions (thus using StableHasher), but not depend on collision freedom for correctness.

I don't know; @michaelwoerister probably knows better than me about that.

With inputs from jszym.com/blog/short_input_hash

That's measured in python. According to the related HN discussion those benchmarks are dominated by python function call overhead. So they're probably not a good indicator for hashing performance of a native rust impl.

Yes, that's a valid point, and I agree that those absolute numbers are not to be trusted, but I still think that even taking into account the different overhead due to the bindings and python, that the overall ranking is still IMO informative.

To get good cryptographic performance for short inputs we probably need something specialized for that purpose that makes use of hardware acceleration like Haraka (rust impl; found on cryptography exchange)

Interesting, I will read more about it.

@michaelwoerister
Copy link
Member

michaelwoerister commented Jul 17, 2024

Do we need all uses of StableHasher to be collision free?

Yes, we want stable hashes to be virtually unique.

@Urgau
Copy link
Member Author

Urgau commented Jul 17, 2024

There is a Blake2s Rust implementation that is hardware accelerated (SSE4.1 and AVX2), blake2s_simd.
Let's try it, even through I'm not excepting much gain.

@Urgau Urgau reopened this Jul 17, 2024
@michaelwoerister
Copy link
Member

Haraka looks interesting. One thing to keep in mind is that we need the hash values to also be the same independent of platform. I.e. when cross compiling libstd, we need hashes computed on the host to match what will later be computed when the compiler is running on the target. If the target does not have an optimized implementation but still produces the same hash value, that would be OK though.

@michaelwoerister
Copy link
Member

I did expect some uses of StableHasher to need the hashes to be consistent between compilation sessions (thus using StableHasher), but not depend on collision freedom for correctness.

To elaborate on that: there might cases like that but at least for DepNode, DefPathHash, StableCrateId, legacy-symbol-name hashes, and incr. comp. query result hashing we need there to be no collisions. For the first three of these we check for collisions and have never found one.

Overall, I prefer to just give the guarantee of virtual uniqueness for stable hashes.

@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 hashbrown v0.14.5
   Compiling ena v0.14.3
   Compiling rustc_arena v0.0.0 (/checkout/compiler/rustc_arena)
   Compiling syn v2.0.67
   Compiling rustc-stable-hash v0.1.0 (https://github.com/Urgau/rustc-stable-hash.git?rev=4f8c5a9#4f8c5a99)
   Compiling elsa v1.7.1
   Compiling itoa v1.0.11
   Compiling cpufeatures v0.2.12
   Compiling unicode-width v0.1.13
---
   Compiling crossbeam-channel v0.5.13
   Compiling itoa v1.0.11
   Compiling rustc_graphviz v0.0.0 (/checkout/compiler/rustc_graphviz)
   Compiling syn v2.0.67
   Compiling rustc-stable-hash v0.1.0 (https://github.com/Urgau/rustc-stable-hash.git?rev=4f8c5a9#4f8c5a99)
   Compiling cpufeatures v0.2.12
   Compiling crossbeam-deque v0.8.5
   Compiling scoped-tls v1.0.1
   Compiling ppv-lite86 v0.2.17
---

---- [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-e90703894a3a4980.so(+0xcb2d86)[0x7f4c7519cd86]
/lib/x86_64-linux-gnu/libc.so.6(+0x42990)[0x7f4c741c2990]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x407c221)[0x7f4c78566221]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(_RNvXs4_NtNtNtCsdo671fdQbEH_12rustc_middle2ty5print6prettyNtB5_10FmtPrinterNtB7_7Printer14print_def_path+0x3e9)[0x7f4c78559b59]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x407c817)[0x7f4c78566817]
### cycle encountered after 5 frames with period 6
### cycle encountered after 5 frames with period 6
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(_RNvXs4_NtNtNtCsdo671fdQbEH_12rustc_middle2ty5print6prettyNtB5_10FmtPrinterNtB7_7Printer14print_def_path+0x3e9)[0x7f4c78559b59]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x4064cef)[0x7f4c7854ecef]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x40e4679)[0x7f4c785ce679]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x40626dc)[0x7f4c7854c6dc]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x4072772)[0x7f4c7855c772]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x407c886)[0x7f4c78566886]
### recursed 41 times

/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(_RNvXs4_NtNtNtCsdo671fdQbEH_12rustc_middle2ty5print6prettyNtB5_10FmtPrinterNtB7_7Printer14print_def_path+0x3e9)[0x7f4c78559b59]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x4064cef)[0x7f4c7854ecef]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x40e4679)[0x7f4c785ce679]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x40626dc)[0x7f4c7854c6dc]
/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-e90703894a3a4980.so(+0x4072772)[0x7f4c7855c772]

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
help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216
note: backtrace dumped due to SIGSEGV! resuming signal


---- [ui] tests/ui/coherence/occurs-check/associated-type.rs#next stdout ----
diff of stderr:
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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::ToUnit::Unit) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[795c]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[795c]::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[19aa]::{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[19aa]::{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[19aa]::{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[19aa]::{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[6815]::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[6815]::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[6815]::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[6815]::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[5537]::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[5537]::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[5537]::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[5537]::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[5537]::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[5537]::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[cc0c]::{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[cc0c]::{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[b66d]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[b66d]::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[b66d]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[b66d]::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[b66d]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[b66d]::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[b66d]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[b66d]::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[27bb]::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[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::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[27bb]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::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[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::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[27bb]::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[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::foo::'_), '_)) T` captures the anonymous lifetime defined here
   |     ^
   |
   |
help: to declare that `Opaque(DefId(0:13 ~ impl_trait_captures[27bb]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::foo::'_), '_))` lifetime bound
   |
LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> + ReLateParam(DefId(0:8 ~ impl_trait_captures[27bb]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[27bb]::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[03ec]::{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[03ec]::{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(_ZN5basic4main17hbf6b1a59e6a0ff1cE)
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(_ZN5basic4main17hbf6b1a59e6a0ff1cE)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^

---

4 LL | #[rustc_symbol_name]
5    | ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(basic[a90d658f4748b9d1]::main)
+ error: demangling(basic[ae94366f69c7be14]::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(_RNvCseZhl6AmAZP4_5basic4main)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^


error: demangling(basic[ae94366f69c7be14]::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[e19207bf5fb0059]::Check<foreign_types[e19207bf5fb0059]::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(_RMCs1d2JDR8xIPR_13foreign_typesINtB0_5CheckNtB0_11ForeignTypeE)
   |
LL | #[rustc_symbol_name]
   | ^^^^^^^^^^^^^^^^^^^^


error: demangling(<foreign_types[e19207bf5fb0059]::Check<foreign_types[e19207bf5fb0059]::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[9a600a5e1c68f711]::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[9a600a5e1c68f711]::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[9a600a5e1c68f711]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[9a600a5e1c68f711]::AutoTrait; 3usize] as impl1[9a600a5e1c68f711]::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(_RNvMNtCsdfJAFdVfZTh_5impl13fooNtB2_3Foo3bar)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(<impl1[9a600a5e1c68f711]::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(_RNvMNtCsdfJAFdVfZTh_5impl13barNtNtB4_3foo3Foo3baz)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(<impl1[9a600a5e1c68f711]::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(_RNvXNCNvCsdfJAFdVfZTh_5impl14mains_0ARDNtB6_3Foop5AssocFG_KCRL0_hvEuNtB6_9AutoTraitEL_j3_NtB2_3Bar6method)
   |
LL |             #[rustc_symbol_name]
   |             ^^^^^^^^^^^^^^^^^^^^


error: demangling(<[&dyn impl1[9a600a5e1c68f711]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[9a600a5e1c68f711]::AutoTrait; 3usize] as impl1[9a600a5e1c68f711]::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]
   |             ^^^^^^^^^^^^^^^^^

---

4 LL |         #[rustc_symbol_name]
5    |         ^^^^^^^^^^^^^^^^^^^^
6 
- error: demangling(<issue_60925[294a1bee3c0c9a2f]::foo::Foo<issue_60925[294a1bee3c0c9a2f]::llvm::Foo>>::foo)
+ error: demangling(<issue_60925[2d5b6e4fb46fd951]::foo::Foo<issue_60925[2d5b6e4fb46fd951]::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(_RNvMNtCs3TqYlVYWsAn_11issue_609253fooINtB2_3FooNtNtB4_4llvm3FooE3foo)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(<issue_60925[2d5b6e4fb46fd951]::foo::Foo<issue_60925[2d5b6e4fb46fd951]::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[54aa944e50ae7625]::Foo<_, _> as issue_75326[54aa944e50ae7625]::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(_RNvXINICs7gFXRAyfBM7_11issue_75326s_0pppEINtB5_3FooppENtB5_9Iterator24nextB5_)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


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


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


error: aborting due to 3 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$3foo17hedfc8b61cebf4cd5E)
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::hedfc8b61cebf4cd5)
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$3foo17hedfc8b61cebf4cd5E)
   |
LL |         #[rustc_symbol_name]
   |         ^^^^^^^^^^^^^^^^^^^^


error: demangling(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo::hedfc8b61cebf4cd5)
   |
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(<&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[e34a638a24f14c80]::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[e34a638a24f14c80]::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[e34a638a24f14c80]::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(_RNvXCsjvRtbuMZhDM_13trait_objectsRDG_INtNtNtCsdavwzgq3XQg_4core3ops8function5FnMutTRL0_hEEp6OutputuEL_NtB2_3Bar6method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling(<&dyn for<'a> core[9964a998ec9102de]::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects[e34a638a24f14c80]::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_CsjvRtbuMZhDM_13trait_objectsRDG_INtNtNtCsdavwzgq3XQg_4core3ops8function5FnMutTRL0_hEEp6OutputuNtNtBI_6marker4SendEL_NtB4_3Foo6method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling(<&dyn for<'a> core[9964a998ec9102de]::ops::function::FnMut<(&'a u8,), Output = ()> + core[9964a998ec9102de]::marker::Send as trait_objects[e34a638a24f14c80]::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_CsjvRtbuMZhDM_13trait_objectsRDG_INtNtNtCsdavwzgq3XQg_4core3ops8function5FnMutTRL0_hEEp6OutputuNtNtBJ_6marker4SendEL_NtB5_3Baz6method)
   |
LL |     #[rustc_symbol_name]
   |     ^^^^^^^^^^^^^^^^^^^^


error: demangling(<&dyn for<'a> core[9964a998ec9102de]::ops::function::FnMut<(&'a u8,), Output = ()> + core[9964a998ec9102de]::marker::Send as trait_objects[e34a638a24f14c80]::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-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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::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[e1ce]::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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::{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[e1ce]::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[e1ce]::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-flat.rs stdout ----
diff of stdout:

- DefId(0:3 ~ thir_flat[7b97]::main):
+ DefId(0:3 ~ thir_flat[30e9]::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[30e9]::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[30e9]::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[30e9]::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-tree-match.rs stdout ----
diff of stdout:

- DefId(0:16 ~ thir_tree_match[fcf8]::has_match):
+ DefId(0:16 ~ thir_tree_match[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::Foo)
+                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edae]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edae]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edae]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edae])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edae]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edae]::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: 4026511574122150134 }
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[edae]::Bar)
+                                                                                                                 variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[edae]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[edae]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[edae]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[edae]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[edae]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[edae]::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: 3136442240197019202 }
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[edae]::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[edae]::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[edae]::Foo)
+                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edae]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edae]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edae]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edae])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edae]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edae]::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: 4026511574122150134 }
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[edae]::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[edae]::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[edae]::Foo)
+                                                                                                 variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edae]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edae]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edae]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edae])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edae]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edae]::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: 4026511574122150134 }
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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::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[edae]::Foo)
                                                                                                variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edae]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edae]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edae]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edae])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edae]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edae]::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: 4026511574122150134 }
                                                                                        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[edae]::Bar)
                                                                                                                variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[edae]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[edae]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[edae]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[edae]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags:  }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[edae]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[edae]::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: 3136442240197019202 }
                                                                                                        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[edae]::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[edae]::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[edae]::Foo)
                                                                                                variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edae]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edae]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edae]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edae])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edae]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edae]::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: 4026511574122150134 }
                                                                                        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[edae]::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[edae]::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[edae]::Foo)
                                                                                                variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edae]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edae]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edae]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edae])) }], tainted: None, flags:  }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edae]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edae]::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: 4026511574122150134 }
                                                                                        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[edae]::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[edae]::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[edae]::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[edae]::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: []
                    }
            }
    }
------------------------------------------
------------------------------------------
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[f860]::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[f860]::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[f860]::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[f860]::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: []
                    }
            }
    }
------------------------------------------
---

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[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::Assoc) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::Assoc) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::Assoc) }
+  WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::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[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::Assoc) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::Assoc) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::Assoc) }
 WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[53a6]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[53a6]::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[e895]::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[e895]::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[a1aa]::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[a1aa]::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[fa22]::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[fa22]::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[fa22]::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[fa22]::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[1dfb]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[1dfb]::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[1dfb]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[1dfb]::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[1dfb]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[1dfb]::called::'b), "'b") ()): Foo` is not satisfied
   |
LL |     called()
LL |     called()
   |     ^^^^^^^^ the trait `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[1dfb]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[1dfb]::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`.
------------------------------------------

@Urgau
Copy link
Member Author

Urgau commented Jul 17, 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 17, 2024
@bors
Copy link
Contributor

bors commented Jul 17, 2024

⌛ Trying commit faed860 with merge 6f7ba5f...

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 17, 2024
@bors
Copy link
Contributor

bors commented Jul 17, 2024

☀️ Try build successful - checks-actions
Build commit: 6f7ba5f (6f7ba5f56bef98d7ba02fca9bff713c1da878ccc)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (6f7ba5f): comparison URL.

Overall result: ❌ regressions - 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)
76.6% [1.6%, 232.8%] 277
Regressions ❌
(secondary)
55.3% [0.5%, 255.9%] 252
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 76.6% [1.6%, 232.8%] 277

Max RSS (memory usage)

Results (primary 2.6%, secondary 7.3%)

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.4% [2.2%, 9.3%] 16
Regressions ❌
(secondary)
7.3% [3.7%, 12.6%] 10
Improvements ✅
(primary)
-3.7% [-6.3%, -2.0%] 7
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.6% [-6.3%, 9.3%] 23

Cycles

Results (primary 51.4%, secondary 44.3%)

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)
51.4% [1.4%, 139.8%] 271
Regressions ❌
(secondary)
44.3% [1.2%, 200.8%] 237
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 51.4% [1.4%, 139.8%] 271

Binary size

Results (primary -0.0%, secondary -0.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)
0.1% [0.0%, 0.4%] 14
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 2
Improvements ✅
(primary)
-0.1% [-0.2%, -0.0%] 24
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) -0.0% [-0.2%, 0.4%] 38

Bootstrap: 768.642s -> 777.99s (1.22%)
Artifact size: 328.71 MiB -> 333.14 MiB (1.35%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 17, 2024
@lqd
Copy link
Member

lqd commented Jul 17, 2024

There is a Blake2s Rust implementation that is hardware accelerated (SSE4.1 and AVX2)

we build for x64-v1, so the hardware acceleration may incur also runtime checks

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-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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants