Skip to content

Conversation

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

Urgau commented Jul 15, 2024

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 15, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 15, 2024
[perf] Change stable hasher to Blake3 Based on rust-lang/rustc-stable-hash@main...Urgau:rustc-stable-hash:blake3 cc `@michaelwoerister` r? ghost
@bors
Copy link
Collaborator

bors commented Jul 15, 2024

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

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Jul 15, 2024

💔 Test failed - checks-actions

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

Urgau commented Jul 15, 2024

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 15, 2024
[perf] Change stable hasher to Blake3 Based on rust-lang/rustc-stable-hash@main...Urgau:rustc-stable-hash:blake3 cc `@michaelwoerister` r? ghost
@bors
Copy link
Collaborator

bors commented Jul 15, 2024

⌛ Trying commit 311050d with merge bb01f8b...

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Jul 15, 2024

💔 Test failed - checks-actions

@Urgau
Copy link
Member Author

Urgau commented Jul 15, 2024

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

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

@michaelwoerister
Copy link
Member

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

@Urgau
Copy link
Member Author

Urgau commented Jul 15, 2024

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

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

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

@bors try

@bors
Copy link
Collaborator

bors commented Jul 15, 2024

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

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 15, 2024
[perf] Change stable hasher to Blake3 Based on rust-lang/rustc-stable-hash@main...Urgau:rustc-stable-hash:blake3 cc `@michaelwoerister` r? ghost
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 46) - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 49) - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 61) ##[endgroup] Setting extra environment values for docker: --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/ [CI_JOB_NAME=x86_64-gnu-llvm-17] --- sccache: Starting the server... ##[group]Configure the build configure: processing command line configure: configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-17', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling'] configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-17/bin/llvm-config configure: llvm.link-shared := True configure: rust.thin-lto-import-instr-limit := 10 configure: change-id := 99999999 --- Compiling rand_core v0.6.4 Compiling sha2 v0.10.8 Compiling sha1 v0.10.6 Compiling md-5 v0.10.6 Compiling rustc-stable-hash v0.1.0 (https://github.com/Urgau/rustc-stable-hash.git?rev=368f4ef#368f4ef4) Compiling rand_xoshiro v0.6.0 Compiling rustc-rayon v0.5.0 Compiling rand v0.8.5 Compiling regex-automata v0.2.0 --- Compiling itertools v0.12.1 Compiling anstyle v1.0.7 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.6 Compiling rustc-stable-hash v0.1.0 (https://github.com/Urgau/rustc-stable-hash.git?rev=368f4ef#368f4ef4) Compiling num_cpus v1.16.0 Compiling digest v0.10.7 Compiling perf-event-open-sys v3.0.0 Compiling rustc-rayon-core v0.5.0 --- ---- [ui] tests/ui/associated-consts/issue-93775.rs stdout ---- error: test compilation failed although it shouldn't! status: signal: 11 (SIGSEGV) (core dumped) command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/associated-consts/issue-93775.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-consts/issue-93775" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/associated-consts/issue-93775/auxiliary" --- stderr ------------------------------- error: rustc interrupted by SIGSEGV, printing backtrace /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0xc72f46)[0x7f8e477ebf46] /lib/x86_64-linux-gnu/libc.so.6(+0x42990)[0x7f8e46851990] /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x420e40b)[0x7f8e4ad8740b] ### cycle encountered after 3 frames with period 4 ### cycle encountered after 3 frames with period 4 /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(_RNvXs0_NtNtCs76WRwqPymcR_12rustc_middle2ty8impls_tyNtNtB7_12generic_args10GenericArgINtNtCskNC5eitX9Xt_21rustc_data_structures13stable_hasher10HashStableNtNtNtCsHElpiQkext_18rustc_query_system3ich3hcx20StableHashingContextE11hash_stable+0x117)[0x7f8e4ace81c7] /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x416ab71)[0x7f8e4ace3b71] /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x4102372)[0x7f8e4ac7b372] /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(+0x420e513)[0x7f8e4ad87513] ### recursed 63 times /checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/librustc_driver-a4305232ddb6b2bb.so(_RNvXs0_NtNtCs76WRwqPymcR_12rustc_middle2ty8impls_tyNtNtB7_12generic_args10GenericArgINtNtCskNC5eitX9Xt_21rustc_data_structures13stable_hasher10HashStableNtNtNtCsHElpiQkext_18rustc_query_system3ich3hcx20StableHashingContextE11hash_stable+0x117)[0x7f8e4ace81c7] note: rustc unexpectedly overflowed its stack! this is a bug note: maximum backtrace depth reached, frames may have been lost help: you can increase rustc's stack size by setting RUST_MIN_STACK=16777216 ------------------------------------------ ---- [ui] tests/ui/coherence/occurs-check/associated-type.rs#next stdout ---- diff of stderr: - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } 5 error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())` 7 | The actual stderr differed from the expected stderr. The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.next/associated-type.next.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args coherence/occurs-check/associated-type.rs` error in revision `next`: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/occurs-check/associated-type.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "next" "--check-cfg" "cfg(FALSE,old,next)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.next" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.next/auxiliary" "-Znext-solver" --- stderr ------------------------------- --- stderr ------------------------------- WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())` | | LL | impl<T> Overlap<T> for T { ... ... LL | / impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T LL | | //~^ ERROR conflicting implementations of trait LL | | where LL | | for<'a> *const T: ToUnit<'a>, | |_________________________________^ conflicting implementation for `for<'a> fn(&'a (), ())` | = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details error[E0284]: type annotations needed: cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc` | | LL | foo::<for<'a> fn(&'a (), ()), for<'a> fn(&'a (), ())>(3usize); | ^^^^^^ cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc` error: aborting due to 2 previous errors Some errors have detailed explanations: E0119, E0284. For more information about an error, try `rustc --explain E0119`. For more information about an error, try `rustc --explain E0119`. ------------------------------------------ ---- [ui] tests/ui/coherence/occurs-check/associated-type.rs#old stdout ---- diff of stderr: - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } 9 error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), _)>` for type `for<'a> fn(&'a (), _)` 11 | The actual stderr differed from the expected stderr. The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.old/associated-type.old.stderr To only update this specific test, also pass `--test-args coherence/occurs-check/associated-type.rs` error in revision `old`: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coherence/occurs-check/associated-type.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "old" "--check-cfg" "cfg(FALSE,old,next)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.old" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coherence/occurs-check/associated-type.old/auxiliary" --- stderr ------------------------------- --- stderr ------------------------------- WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, !2_0.Named(DefId(0:27 ~ associated_type[aedc]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[aedc]::ToUnit::Unit) } error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), _)>` for type `for<'a> fn(&'a (), _)` | | LL | impl<T> Overlap<T> for T { ... ... LL | / impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T LL | | //~^ ERROR conflicting implementations of trait LL | | where LL | | for<'a> *const T: ToUnit<'a>, | |_________________________________^ conflicting implementation for `for<'a> fn(&'a (), _)` | = note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0119`. ------------------------------------------ ------------------------------------------ ---- [ui] tests/ui/consts/miri_unleashed/extern-static.rs stdout ---- diff of stderr: 2 --> $DIR/extern-static.rs:11:25 3 | 4 LL | unsafe { let _val = DATA; } - | ^^^^ cannot access extern static (DefId(0:4 ~ extern_static[c41e]::{extern#0}::DATA)) + | ^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA)) 7 error[E0080]: could not evaluate static initializer 8 --> $DIR/extern-static.rs:16:14 9 | 9 | 10 LL | unsafe { DATA = 0; } - | ^^^^^^^^ cannot access extern static (DefId(0:4 ~ extern_static[c41e]::{extern#0}::DATA)) + | ^^^^^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA)) 13 error: aborting due to 2 previous errors 14 The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/extern-static/extern-static.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args consts/miri_unleashed/extern-static.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/consts/miri_unleashed/extern-static.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/extern-static" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/extern-static/auxiliary" "-Zunleash-the-miri-inside-of-you" --- stderr ------------------------------- error[E0080]: could not evaluate static initializer ##[error] --> /checkout/tests/ui/consts/miri_unleashed/extern-static.rs:11:25 | | LL | unsafe { let _val = DATA; } | ^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA)) error[E0080]: could not evaluate static initializer ##[error] --> /checkout/tests/ui/consts/miri_unleashed/extern-static.rs:16:14 | LL | unsafe { DATA = 0; } LL | unsafe { DATA = 0; } | ^^^^^^^^ cannot access extern static (DefId(0:4 ~ extern_static[3e68]::{extern#0}::DATA)) error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0080`. ------------------------------------------ ------------------------------------------ ---- [ui] tests/ui/consts/miri_unleashed/tls.rs stdout ---- diff of stderr: 2 --> $DIR/tls.rs:11:25 3 | 4 LL | unsafe { let _val = A; } - | ^ cannot access thread local static (DefId(0:4 ~ tls[ca29]::A)) + | ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A)) 7 error[E0080]: could not evaluate static initializer 8 --> $DIR/tls.rs:20:26 9 | 9 | 10 LL | unsafe { let _val = &A; } - | ^ cannot access thread local static (DefId(0:4 ~ tls[ca29]::A)) + | ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A)) 13 warning: skipping const checks 14 | The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/tls/tls.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args consts/miri_unleashed/tls.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/consts/miri_unleashed/tls.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/tls" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/consts/miri_unleashed/tls/auxiliary" "-Zunleash-the-miri-inside-of-you" --- stderr ------------------------------- error[E0080]: could not evaluate static initializer ##[error] --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:11:25 | | LL | unsafe { let _val = A; } | ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A)) error[E0080]: could not evaluate static initializer ##[error] --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:20:26 | | LL | unsafe { let _val = &A; } | ^ cannot access thread local static (DefId(0:4 ~ tls[b26c]::A)) warning: skipping const checks | help: skipping check that does not even have a feature gate --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:11:25 --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:11:25 | LL | unsafe { let _val = A; } | ^ help: skipping check that does not even have a feature gate --> /checkout/tests/ui/consts/miri_unleashed/tls.rs:20:26 | LL | unsafe { let _val = &A; } error: aborting due to 2 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0080`. --- diff of stderr: 10 --> $DIR/coroutine-print-verbose-1.rs:35:9 11 | 12 LL | let _non_send_gen = make_non_send_coroutine(); - | ------------- has type `Opaque(DefId(0:34 ~ coroutine_print_verbose_1[75fb]::make_non_send_coroutine::{opaque#0}), [])` which is not `Send` + | ------------- has type `Opaque(DefId(0:34 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine::{opaque#0}), [])` which is not `Send` 14 LL | yield; 15 | ^^^^^ yield occurs here, with `_non_send_gen` maybe used later 33 | 33 | 34 LL | #[coroutine] || { 35 | ^^ - note: required because it appears within the type `Opaque(DefId(0:35 ~ coroutine_print_verbose_1[75fb]::make_gen2::{opaque#0}), [Arc<RefCell<i32>>])` + note: required because it appears within the type `Opaque(DefId(0:35 ~ coroutine_print_verbose_1[ece5]::make_gen2::{opaque#0}), [Arc<RefCell<i32>>])` 38 | 38 | 39 LL | pub fn make_gen2<T>(t: T) -> impl Coroutine<Return = T> { 40 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ 40 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ - note: required because it appears within the type `Opaque(DefId(0:36 ~ coroutine_print_verbose_1[75fb]::make_non_send_coroutine2::{opaque#0}), [])` + note: required because it appears within the type `Opaque(DefId(0:36 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine2::{opaque#0}), [])` 43 | 43 | 44 LL | fn make_non_send_coroutine2() -> impl Coroutine<Return = Arc<RefCell<i32>>> { The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coroutine/print/coroutine-print-verbose-1/coroutine-print-verbose-1.stderr To update references, rerun the tests and pass the `--bless` flag To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args coroutine/print/coroutine-print-verbose-1.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coroutine/print/coroutine-print-verbose-1" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/coroutine/print/coroutine-print-verbose-1/auxiliary" "-Zverbose-internals" --- stderr ------------------------------- error: coroutine cannot be sent between threads safely ##[error] --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:37:5 | | LL | require_send(send_gen); | ^^^^^^^^^^^^^^^^^^^^^^ coroutine is not `Send` | = help: the trait `Sync` is not implemented for `RefCell<i32>`, which is required by `{test1::{closure#0} upvar_tys=() witness={test1::{closure#0}}}: Send` = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead note: coroutine is not `Send` as this value is used across a yield | | LL | let _non_send_gen = make_non_send_coroutine(); | ------------- has type `Opaque(DefId(0:34 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine::{opaque#0}), [])` which is not `Send` LL | yield; | ^^^^^ yield occurs here, with `_non_send_gen` maybe used later --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:26:25 | | LL | fn require_send(_: impl Send) {} error[E0277]: `RefCell<i32>` cannot be shared between threads safely ##[error] --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:56:5 | | LL | require_send(send_gen); | ^^^^^^^^^^^^^^^^^^^^^^ `RefCell<i32>` cannot be shared between threads safely | = help: the trait `Sync` is not implemented for `RefCell<i32>`, which is required by `{test2::{closure#0} upvar_tys=() witness={test2::{closure#0}}}: Send` = note: if you want to do aliasing and mutation between multiple threads, use `std::sync::RwLock` instead = note: required for `Arc<RefCell<i32>>` to implement `Send` --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:42:18 | | LL | #[coroutine] || { | ^^ note: required because it appears within the type `Opaque(DefId(0:35 ~ coroutine_print_verbose_1[ece5]::make_gen2::{opaque#0}), [Arc<RefCell<i32>>])` | | LL | pub fn make_gen2<T>(t: T) -> impl Coroutine<Return = T> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^ note: required because it appears within the type `Opaque(DefId(0:36 ~ coroutine_print_verbose_1[ece5]::make_non_send_coroutine2::{opaque#0}), [])` | | LL | fn make_non_send_coroutine2() -> impl Coroutine<Return = Arc<RefCell<i32>>> { note: required because it's used within this coroutine --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:52:33 | | LL | let send_gen = #[coroutine] || { note: required by a bound in `require_send` --> /checkout/tests/ui/coroutine/print/coroutine-print-verbose-1.rs:26:25 | | LL | fn require_send(_: impl Send) {} error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0277`. --- diff of stderr: 2 --> $DIR/issue-28324.rs:5:23 3 | 4 LL | pub static BAZ: u32 = *&error_message_count; - | ^^^^^^^^^^^^^^^^^^^^^ cannot access extern static (DefId(0:4 ~ issue_28324[8ec4]::{extern#0}::error_message_count)) + | ^^^^^^^^^^^^^^^^^^^^^ cannot access extern static (DefId(0:4 ~ issue_28324[67ae]::{extern#0}::error_message_count)) 7 error[E0133]: use of extern static is unsafe and requires unsafe function or block 8 --> $DIR/issue-28324.rs:5:25 The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/extern/issue-28324/issue-28324.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args extern/issue-28324.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/extern/issue-28324.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/extern/issue-28324" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/extern/issue-28324/auxiliary" --- stderr ------------------------------- error[E0080]: could not evaluate static initializer ##[error] --> /checkout/tests/ui/extern/issue-28324.rs:5:23 | | LL | pub static BAZ: u32 = *&error_message_count; | ^^^^^^^^^^^^^^^^^^^^^ cannot access extern static (DefId(0:4 ~ issue_28324[67ae]::{extern#0}::error_message_count)) error[E0133]: use of extern static is unsafe and requires unsafe function or block ##[error] --> /checkout/tests/ui/extern/issue-28324.rs:5:25 | | LL | pub static BAZ: u32 = *&error_message_count; | = note: extern statics are not controlled by the Rust type system: invalid data, aliasing violations or data races will cause undefined behavior error: aborting due to 2 previous errors --- ---- [ui] tests/ui/higher-ranked/structually-relate-aliases.rs stdout ---- diff of stderr: - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, !2_0.Named(DefId(0:15 ~ structually_relate_aliases[de75]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[de75]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::ToUnit::Unit) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, !2_0.Named(DefId(0:15 ~ structually_relate_aliases[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::ToUnit::Unit) } 3 error[E0277]: the trait bound `for<'a> T: ToUnit<'a>` is not satisfied 5 | The actual stderr differed from the expected stderr. The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/higher-ranked/structually-relate-aliases/structually-relate-aliases.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args higher-ranked/structually-relate-aliases.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/higher-ranked/structually-relate-aliases.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/higher-ranked/structually-relate-aliases" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/higher-ranked/structually-relate-aliases/auxiliary" --- stderr ------------------------------- --- stderr ------------------------------- WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, '^0.Named(DefId(0:15 ~ structually_relate_aliases[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::ToUnit::Unit) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [?1t, !2_0.Named(DefId(0:15 ~ structually_relate_aliases[601a]::{impl#1}::'a), "'a")], def_id: DefId(0:5 ~ structually_relate_aliases[601a]::ToUnit::Unit) } error[E0277]: the trait bound `for<'a> T: ToUnit<'a>` is not satisfied | | LL | impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {} | ^^^^^^^^^^^^ the trait `for<'a> ToUnit<'a>` is not implemented for `T` help: consider restricting type parameter `T` | | LL | impl<T: for<'a> ToUnit<'a>> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {} error[E0277]: the trait bound `for<'a> T: ToUnit<'a>` is not satisfied | | LL | impl<T> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'a> ToUnit<'a>` is not implemented for `T` help: consider restricting type parameter `T` | | LL | impl<T: for<'a> ToUnit<'a>> Overlap<for<'a> fn(&'a (), Assoc<'a, T>)> for T {} error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0277`. For more information about this error, try `rustc --explain E0277`. ------------------------------------------ ---- [ui] tests/ui/nll/ty-outlives/impl-trait-captures.rs stdout ---- diff of stderr: - error[E0700]: hidden type for `Opaque(DefId(0:13 ~ impl_trait_captures[aeb9]::foo::{opaque#0}), ['a/#0, T, 'a/#0])` captures lifetime that does not appear in bounds + error[E0700]: hidden type for `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#0])` captures lifetime that does not appear in bounds 3 | 3 | 4 LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> { 5 | -- ------------ opaque type defined here 6 | | 6 | | - | hidden type `&ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_)) T` captures the anonymous lifetime defined here + | hidden type `&ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) T` captures the anonymous lifetime defined here 9 | ^ 10 | - help: to declare that `Opaque(DefId(0:13 ~ impl_trait_captures[aeb9]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_))` lifetime bound + help: to declare that `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))` lifetime bound 12 | - LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> + ReLateParam(DefId(0:8 ~ impl_trait_captures[aeb9]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[aeb9]::foo::'_), '_)) { + LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> + ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) { 15 16 error: aborting due to 1 previous error The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/nll/ty-outlives/impl-trait-captures/impl-trait-captures.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args nll/ty-outlives/impl-trait-captures.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/nll/ty-outlives/impl-trait-captures.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/nll/ty-outlives/impl-trait-captures" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/nll/ty-outlives/impl-trait-captures/auxiliary" "-Zverbose-internals" --- stderr ------------------------------- --- stderr ------------------------------- error[E0700]: hidden type for `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#0])` captures lifetime that does not appear in bounds | | LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> { | -- ------------ opaque type defined here | | | hidden type `&ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) T` captures the anonymous lifetime defined here | ^ | | help: to declare that `Opaque(DefId(0:13 ~ impl_trait_captures[9cb2]::foo::{opaque#0}), ['a/#0, T, 'a/#2])` captures `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))`, you can add an explicit `ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_))` lifetime bound | LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> + ReLateParam(DefId(0:8 ~ impl_trait_captures[9cb2]::foo), BrNamed(DefId(0:12 ~ impl_trait_captures[9cb2]::foo::'_), '_)) { error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0700`. --- diff of stderr: 2 --> $DIR/issue-14227.rs:4:21 3 | 4 LL | static CRASH: u32 = symbol; - | ^^^^^^ cannot access extern static (DefId(0:4 ~ issue_14227[1133]::{extern#0}::symbol)) + | ^^^^^^ cannot access extern static (DefId(0:4 ~ issue_14227[bfa8]::{extern#0}::symbol)) 7 error[E0133]: use of extern static is unsafe and requires unsafe function or block 8 --> $DIR/issue-14227.rs:4:21 The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/statics/issue-14227/issue-14227.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args statics/issue-14227.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/statics/issue-14227.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/statics/issue-14227" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/statics/issue-14227/auxiliary" --- stderr ------------------------------- error[E0080]: could not evaluate static initializer ##[error] --> /checkout/tests/ui/statics/issue-14227.rs:4:21 | | LL | static CRASH: u32 = symbol; | ^^^^^^ cannot access extern static (DefId(0:4 ~ issue_14227[bfa8]::{extern#0}::symbol)) error[E0133]: use of extern static is unsafe and requires unsafe function or block ##[error] --> /checkout/tests/ui/statics/issue-14227.rs:4:21 | LL | static CRASH: u32 = symbol; --- ---- [ui] tests/ui/symbol-names/basic.rs#legacy stdout ---- diff of stderr: - error: symbol-name(_ZN5basic4main17had874e876c8b1028E) + error: symbol-name(_ZN5basic4main17h425f60c1460bfebeE) 3 | 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ --- 10 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.legacy/basic.legacy.stderr To only update this specific test, also pass `--test-args symbol-names/basic.rs` error in revision `legacy`: 1 errors occurred comparing output. status: exit status: 1 status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/basic.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "legacy" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.legacy" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.legacy/auxiliary" "-Z" "unstable-options" "-C" "symbol-mangling-version=legacy" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_ZN5basic4main17h425f60c1460bfebeE) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ --- 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ 6 - error: demangling(basic[a90d658f4748b9d1]::main) + error: demangling(basic[1d31c6bdd414b556]::main) 9 | 10 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.v0/basic.v0.stderr To only update this specific test, also pass `--test-args symbol-names/basic.rs` error in revision `v0`: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/basic.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.v0" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/basic.v0/auxiliary" "-C" "symbol-mangling-version=v0" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_RNvCs2voSE3sbJaI_5basic4main) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(basic[1d31c6bdd414b556]::main) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ --- 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ 6 - error: demangling(<foreign_types[fcdd87e190ad88e3]::Check<foreign_types[fcdd87e190ad88e3]::ForeignType>>) + error: demangling(<foreign_types[6ede1cd427a4ef5f]::Check<foreign_types[6ede1cd427a4ef5f]::ForeignType>>) 9 | 10 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/foreign-types/foreign-types.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args symbol-names/foreign-types.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/foreign-types.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/foreign-types" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/foreign-types/auxiliary" "-C" "symbol-mangling-version=v0" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_RMCs9w92neTrVg1_13foreign_typesINtB0_5CheckNtB0_11ForeignTypeE) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<foreign_types[6ede1cd427a4ef5f]::Check<foreign_types[6ede1cd427a4ef5f]::ForeignType>>) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<foreign_types::Check<foreign_types::ForeignType>>) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ --- 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ 6 - error: demangling(<impl1[d5591eb39db23cbb]::foo::Foo>::bar) + error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::bar) 9 | 10 LL | #[rustc_symbol_name] 28 LL | #[rustc_symbol_name] 28 LL | #[rustc_symbol_name] 29 | ^^^^^^^^^^^^^^^^^^^^ 30 - error: demangling(<impl1[d5591eb39db23cbb]::foo::Foo>::baz) + error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::baz) 33 | 34 LL | #[rustc_symbol_name] 52 LL | #[rustc_symbol_name] 52 LL | #[rustc_symbol_name] 53 | ^^^^^^^^^^^^^^^^^^^^ 54 - error: demangling(<[&dyn impl1[d5591eb39db23cbb]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[d5591eb39db23cbb]::AutoTrait; 3usize] as impl1[d5591eb39db23cbb]::main::{closure#1}::Bar>::method) + error: demangling(<[&dyn impl1[bd079427ba4c1c6d]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[bd079427ba4c1c6d]::AutoTrait; 3usize] as impl1[bd079427ba4c1c6d]::main::{closure#1}::Bar>::method) 57 | 58 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/impl1.v0/impl1.v0.stderr To only update this specific test, also pass `--test-args symbol-names/impl1.rs` error in revision `v0`: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/impl1.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/impl1.v0" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/impl1.v0/auxiliary" "-C" "symbol-mangling-version=v0" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_RNvMNtCsgecpn31VegH_5impl13fooNtB2_3Foo3bar) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::bar) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<impl1::foo::Foo>::bar) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: def-path(foo::Foo::bar) ##[error] --> /checkout/tests/ui/symbol-names/impl1.rs:21:9 | LL | #[rustc_def_path] | ^^^^^^^^^^^^^^^^^ error: symbol-name(_RNvMNtCsgecpn31VegH_5impl13barNtNtB4_3foo3Foo3baz) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<impl1[bd079427ba4c1c6d]::foo::Foo>::baz) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<impl1::foo::Foo>::baz) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: def-path(bar::<impl foo::Foo>::baz) | LL | #[rustc_def_path] | ^^^^^^^^^^^^^^^^^ error: symbol-name(_RNvXNCNvCsgecpn31VegH_5impl14mains_0ARDNtB6_3Foop5AssocFG_KCRL0_hvEuNtB6_9AutoTraitEL_j3_NtB2_3Bar6method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<[&dyn impl1[bd079427ba4c1c6d]::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1[bd079427ba4c1c6d]::AutoTrait; 3usize] as impl1[bd079427ba4c1c6d]::main::{closure#1}::Bar>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<[&dyn impl1::Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + impl1::AutoTrait; 3] as impl1::main::{closure#1}::Bar>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: def-path(<[&dyn Foo<Assoc = for<'a> extern "C" fn(&'a u8, ...)> + AutoTrait; 3] as main::{closure#1}::Bar>::method) | LL | #[rustc_def_path] | ^^^^^^^^^^^^^^^^^ error: aborting due to 12 previous errors ------------------------------------------ ---- [ui] tests/ui/symbol-names/issue-60925.rs#legacy stdout ---- diff of stderr: - error: symbol-name(_ZN11issue_609253foo37Foo$LT$issue_60925..llv$u6d$..Foo$GT$3foo17haf0d0ad2255e29c6E) + error: symbol-name(_ZN11issue_609253foo37Foo$LT$issue_60925..llv$u6d$..Foo$GT$3foo17hdb9bd5def14d3426E) 3 | 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ 5 | ^^^^^^^^^^^^^^^^^^^^ 6 - error: demangling(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo::haf0d0ad2255e29c6) + error: demangling(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo::hdb9bd5def14d3426) 9 | 10 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.legacy/issue-60925.legacy.stderr To only update this specific test, also pass `--test-args symbol-names/issue-60925.rs` error in revision `legacy`: 1 errors occurred comparing output. status: exit status: 1 status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/issue-60925.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "legacy" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.legacy" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.legacy/auxiliary" "-Z" "unstable-options" "-C" "symbol-mangling-version=legacy" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_ZN11issue_609253foo37Foo$LT$issue_60925..llv$u6d$..Foo$GT$3foo17hdb9bd5def14d3426E) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo::hdb9bd5def14d3426) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(issue_60925::foo::Foo<issue_60925::llvm::Foo>::foo) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ --- 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ 6 - error: demangling(<issue_60925[294a1bee3c0c9a2f]::foo::Foo<issue_60925[294a1bee3c0c9a2f]::llvm::Foo>>::foo) + error: demangling(<issue_60925[303c0853c3e31d83]::foo::Foo<issue_60925[303c0853c3e31d83]::llvm::Foo>>::foo) 9 | 10 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.v0/issue-60925.v0.stderr To only update this specific test, also pass `--test-args symbol-names/issue-60925.rs` error in revision `v0`: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/issue-60925.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.v0" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-60925.v0/auxiliary" "-C" "symbol-mangling-version=v0" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_RNvMNtCs48KzjyMKuHf_11issue_609253fooINtB2_3FooNtNtB4_4llvm3FooE3foo) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<issue_60925[303c0853c3e31d83]::foo::Foo<issue_60925[303c0853c3e31d83]::llvm::Foo>>::foo) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<issue_60925::foo::Foo<issue_60925::llvm::Foo>>::foo) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ --- 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ 6 - error: demangling(<issue_75326[189ebc60e18860d7]::Foo<_, _> as issue_75326[189ebc60e18860d7]::Iterator2>::next) + error: demangling(<issue_75326[1291d23e080b30fa]::Foo<_, _> as issue_75326[1291d23e080b30fa]::Iterator2>::next) 9 | 10 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-75326.v0/issue-75326.v0.stderr To only update this specific test, also pass `--test-args symbol-names/issue-75326.rs` error in revision `v0`: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/issue-75326.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "v0" "--check-cfg" "cfg(FALSE,legacy,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-75326.v0" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/issue-75326.v0/auxiliary" "-C" "symbol-mangling-version=v0" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_RNvXINICs1AQqzcb8TPi_11issue_75326s_0pppEINtB5_3FooppENtB5_9Iterator24nextB5_) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<issue_75326[1291d23e080b30fa]::Foo<_, _> as issue_75326[1291d23e080b30fa]::Iterator2>::next) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<issue_75326::Foo<_, _> as issue_75326::Iterator2>::next) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ --- 4 LL | #[rustc_symbol_name] 5 | ^^^^^^^^^^^^^^^^^^^^ 6 - error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects[3c073c57f94bedc2]::Bar>::method) + error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects[a60e12d94d485df1]::Bar>::method) 9 | 10 LL | #[rustc_symbol_name] 22 LL | #[rustc_symbol_name] 22 LL | #[rustc_symbol_name] 23 | ^^^^^^^^^^^^^^^^^^^^ 24 - error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[3c073c57f94bedc2]::Foo>::method) + error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[a60e12d94d485df1]::Foo>::method) 27 | 28 LL | #[rustc_symbol_name] 40 LL | #[rustc_symbol_name] 40 LL | #[rustc_symbol_name] 41 | ^^^^^^^^^^^^^^^^^^^^ 42 - error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[3c073c57f94bedc2]::Baz>::method) + error: demangling(<&dyn for<'a> core[HASH]::ops::function::FnMut<(&'a u8,), Output = ()> + core[HASH]::marker::Send as trait_objects[a60e12d94d485df1]::Baz>::method) 45 | 46 LL | #[rustc_symbol_name] The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/trait-objects.v0/trait-objects.v0.stderr To only update this specific test, also pass `--test-args symbol-names/trait-objects.rs` error in revision `v0`: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/symbol-names/trait-objects.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "v0" "--check-cfg" "cfg(FALSE,v0)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/trait-objects.v0" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/symbol-names/trait-objects.v0/auxiliary" "-C" "symbol-mangling-version=v0" --- stderr ------------------------------- --- stderr ------------------------------- error: symbol-name(_RNvXCsefUduAgpPqv_13trait_objectsRDG_INtNtNtCs5IOwK1fz3pc_4core3ops8function5FnMutTRL0_hEEp6OutputuEL_NtB2_3Bar6method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<&dyn for<'a> core[42a8416f294fe160]::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects[a60e12d94d485df1]::Bar>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<&dyn for<'a> core::ops::function::FnMut<(&'a u8,), Output = ()> as trait_objects::Bar>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: symbol-name(_RNvXs_CsefUduAgpPqv_13trait_objectsRDG_INtNtNtCs5IOwK1fz3pc_4core3ops8function5FnMutTRL0_hEEp6OutputuNtNtBI_6marker4SendEL_NtB4_3Foo6method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<&dyn for<'a> core[42a8416f294fe160]::ops::function::FnMut<(&'a u8,), Output = ()> + core[42a8416f294fe160]::marker::Send as trait_objects[a60e12d94d485df1]::Foo>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<&dyn for<'a> core::ops::function::FnMut<(&'a u8,), Output = ()> + core::marker::Send as trait_objects::Foo>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: symbol-name(_RNvXs0_CsefUduAgpPqv_13trait_objectsRDG_INtNtNtCs5IOwK1fz3pc_4core3ops8function5FnMutTRL0_hEEp6OutputuNtNtBJ_6marker4SendEL_NtB5_3Baz6method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling(<&dyn for<'a> core[42a8416f294fe160]::ops::function::FnMut<(&'a u8,), Output = ()> + core[42a8416f294fe160]::marker::Send as trait_objects[a60e12d94d485df1]::Baz>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: demangling-alt(<&dyn for<'a> core::ops::function::FnMut<(&'a u8,), Output = ()> + core::marker::Send as trait_objects::Baz>::method) | LL | #[rustc_symbol_name] | ^^^^^^^^^^^^^^^^^^^^ error: aborting due to 9 previous errors ------------------------------------------ ---- [ui] tests/ui/thir-print/thir-flat.rs stdout ---- diff of stdout: - DefId(0:3 ~ thir_flat[7b97]::main): + DefId(0:3 ~ thir_flat[e7b1]::main): 2 Thir { 3 body_type: Fn( 29 kind: Scope { 30 region_scope: Node(2), 31 lint_level: Explicit( 31 lint_level: Explicit( - HirId(DefId(0:3 ~ thir_flat[7b97]::main).2), + HirId(DefId(0:3 ~ thir_flat[e7b1]::main).2), 34 value: e0, 35 }, The actual stdout differed from the expected stdout. Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat/thir-flat.stdout To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args thir-print/thir-flat.rs` error: 1 errors occurred comparing output. status: exit status: 0 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/thir-print/thir-flat.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat/auxiliary" "-Z" "unpretty=thir-flat" --- stdout ------------------------------- DefId(0:3 ~ thir_flat[e7b1]::main): Thir { body_type: Fn( ), arms: [], blocks: [ Block { Block { targeted_by_break: false, region_scope: Node(1), span: /checkout/tests/ui/thir-print/thir-flat.rs:4:15: 4:17 (#0), stmts: [], expr: None, safety_mode: Safe, ], exprs: [ Expr { kind: Block { kind: Block { block: b0, }, ty: (), temp_lifetime: Some( Node(2), ), span: /checkout/tests/ui/thir-print/thir-flat.rs:4:15: 4:17 (#0), Expr { kind: Scope { region_scope: Node(2), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:3 ~ thir_flat[e7b1]::main).2), value: e0, }, ty: (), temp_lifetime: Some( temp_lifetime: Some( Node(2), ), span: /checkout/tests/ui/thir-print/thir-flat.rs:4:15: 4:17 (#0), ], stmts: [], params: [], } } ------------------------------------------ stderr: none ---- [ui] tests/ui/thir-print/thir-flat-const-variant.rs stdout ---- diff of stdout: - DefId(0:8 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR1): + DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1): 2 Thir { 3 body_type: Const( 20 kind: Scope { 21 region_scope: Node(7), 22 lint_level: Explicit( 22 lint_level: Explicit( - HirId(DefId(0:8 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR1).7), + HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).7), 25 value: e0, 26 }, 56 kind: Scope { 56 kind: Scope { 57 region_scope: Node(3), 58 lint_level: Explicit( - HirId(DefId(0:8 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR1).3), + HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).3), 61 value: e2, 62 }, 71 params: [], 71 params: [], 72 } 73 - DefId(0:9 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR2): + DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2): 75 Thir { 76 body_type: Const( 93 kind: Scope { 94 region_scope: Node(8), 95 lint_level: Explicit( 95 lint_level: Explicit( - HirId(DefId(0:9 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR2).8), + HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).8), 98 value: e0, 99 }, 129 kind: Scope { 129 kind: Scope { 130 region_scope: Node(3), 131 lint_level: Explicit( - HirId(DefId(0:9 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR2).3), + HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).3), 134 value: e2, 135 }, 144 params: [], 144 params: [], 145 } 146 - DefId(0:10 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR3): + DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3): 148 Thir { 149 body_type: Const( 166 kind: Scope { 167 region_scope: Node(7), 168 lint_level: Explicit( 168 lint_level: Explicit( - HirId(DefId(0:10 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR3).7), + HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).7), 171 value: e0, 172 }, 202 kind: Scope { 202 kind: Scope { 203 region_scope: Node(3), 204 lint_level: Explicit( - HirId(DefId(0:10 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR3).3), + HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).3), 207 value: e2, 208 }, 217 params: [], 217 params: [], 218 } 219 - DefId(0:11 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR4): + DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4): 221 Thir { 222 body_type: Const( 239 kind: Scope { 240 region_scope: Node(8), 241 lint_level: Explicit( 241 lint_level: Explicit( - HirId(DefId(0:11 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR4).8), + HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).8), 244 value: e0, 245 }, 275 kind: Scope { 275 kind: Scope { 276 region_scope: Node(3), 277 lint_level: Explicit( - HirId(DefId(0:11 ~ thir_flat_const_variant[1f54]::{impl#0}::BAR4).3), + HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).3), 280 value: e2, 281 }, 290 params: [], 290 params: [], 291 } 292 - DefId(0:12 ~ thir_flat_const_variant[1f54]::main): + DefId(0:12 ~ thir_flat_const_variant[9a80]::main): 294 Thir { 295 body_type: Fn( 321 kind: Scope { 322 region_scope: Node(2), 323 lint_level: Explicit( 323 lint_level: Explicit( - HirId(DefId(0:12 ~ thir_flat_const_variant[1f54]::main).2), + HirId(DefId(0:12 ~ thir_flat_const_variant[9a80]::main).2), 326 value: e0, 327 }, The actual stdout differed from the expected stdout. Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat-const-variant/thir-flat-const-variant.stdout To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args thir-print/thir-flat-const-variant.rs` error: 1 errors occurred comparing output. status: exit status: 0 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/thir-print/thir-flat-const-variant.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat-const-variant" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-flat-const-variant/auxiliary" "-Z" "unpretty=thir-flat" --- stdout ------------------------------- DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1): Thir { body_type: Const( ), arms: [], blocks: [], exprs: [ --- ty: (), temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:32: 12:34 (#0), Expr { kind: Scope { region_scope: Node(7), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).7), value: e0, }, ty: (), temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:32: 12:34 (#0), Expr { kind: Adt( AdtExpr { adt_def: Foo, --- ty: Foo, temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:23: 12:35 (#0), Expr { kind: Scope { region_scope: Node(3), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:8 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR1).3), value: e2, }, ty: Foo, temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:12:23: 12:35 (#0), ], stmts: [], params: [], } } DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2): Thir { body_type: Const( ), arms: [], blocks: [], exprs: [ --- ty: (), temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:33: 13:35 (#0), Expr { kind: Scope { region_scope: Node(8), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).8), value: e0, }, ty: (), temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:33: 13:35 (#0), Expr { kind: Adt( AdtExpr { adt_def: Foo, --- ty: Foo, temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:23: 13:36 (#0), Expr { kind: Scope { region_scope: Node(3), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:9 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR2).3), value: e2, }, ty: Foo, temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:13:23: 13:36 (#0), ], stmts: [], params: [], } } DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3): Thir { body_type: Const( ), arms: [], blocks: [], exprs: [ --- ty: (), temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:33: 14:35 (#0), Expr { kind: Scope { region_scope: Node(7), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).7), value: e0, }, ty: (), temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:33: 14:35 (#0), Expr { kind: Adt( AdtExpr { adt_def: Foo, --- ty: Foo, temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:24: 14:36 (#0), Expr { kind: Scope { region_scope: Node(3), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:10 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR3).3), value: e2, }, ty: Foo, temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:14:24: 14:36 (#0), ], stmts: [], params: [], } } DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4): Thir { body_type: Const( ), arms: [], blocks: [], exprs: [ --- ty: (), temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:34: 15:36 (#0), Expr { kind: Scope { region_scope: Node(8), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).8), value: e0, }, ty: (), temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:34: 15:36 (#0), Expr { kind: Adt( AdtExpr { adt_def: Foo, --- ty: Foo, temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:24: 15:37 (#0), Expr { kind: Scope { region_scope: Node(3), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:11 ~ thir_flat_const_variant[9a80]::{impl#0}::BAR4).3), value: e2, }, ty: Foo, temp_lifetime: Some( temp_lifetime: Some( Node(3), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:15:24: 15:37 (#0), ], stmts: [], params: [], } } DefId(0:12 ~ thir_flat_const_variant[9a80]::main): Thir { body_type: Fn( ), arms: [], blocks: [ Block { Block { targeted_by_break: false, region_scope: Node(1), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:18:11: 18:13 (#0), stmts: [], expr: None, safety_mode: Safe, ], exprs: [ Expr { kind: Block { kind: Block { block: b0, }, ty: (), temp_lifetime: Some( Node(2), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:18:11: 18:13 (#0), Expr { kind: Scope { region_scope: Node(2), lint_level: Explicit( lint_level: Explicit( HirId(DefId(0:12 ~ thir_flat_const_variant[9a80]::main).2), value: e0, }, ty: (), temp_lifetime: Some( temp_lifetime: Some( Node(2), ), span: /checkout/tests/ui/thir-print/thir-flat-const-variant.rs:18:11: 18:13 (#0), ], stmts: [], params: [], } } ------------------------------------------ stderr: none ---- [ui] tests/ui/thir-print/thir-tree.rs stdout ---- diff of stdout: - DefId(0:3 ~ thir_tree[7aaa]::main): + DefId(0:3 ~ thir_tree[e4e3]::main): 2 params: [ 4 body: 9 kind: 10 Scope { 10 Scope { 11 region_scope: Node(2) - lint_level: Explicit(HirId(DefId(0:3 ~ thir_tree[7aaa]::main).2)) + lint_level: Explicit(HirId(DefId(0:3 ~ thir_tree[e4e3]::main).2)) 14 Expr { 15 ty: () The actual stdout differed from the expected stdout. Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree/thir-tree.stdout To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args thir-print/thir-tree.rs` error: 1 errors occurred comparing output. status: exit status: 0 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/thir-print/thir-tree.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree/auxiliary" "-Z" "unpretty=thir-tree" --- stdout ------------------------------- DefId(0:3 ~ thir_tree[e4e3]::main): params: [ body: Expr { ty: () temp_lifetime: Some(Node(2)) temp_lifetime: Some(Node(2)) span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0) kind: Scope { region_scope: Node(2) lint_level: Explicit(HirId(DefId(0:3 ~ thir_tree[e4e3]::main).2)) Expr { ty: () temp_lifetime: Some(Node(2)) span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0) span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0) kind: Block { targeted_by_break: false span: /checkout/tests/ui/thir-print/thir-tree.rs:4:15: 4:17 (#0) region_scope: Node(1) safety_mode: Safe stmts: [] expr: [] } } } ------------------------------------------ ------------------------------------------ stderr: none ---- [ui] tests/ui/thir-print/thir-tree-match.rs stdout ---- diff of stdout: - DefId(0:16 ~ thir_tree_match[fcf8]::has_match): + DefId(0:16 ~ thir_tree_match[edc1]::has_match): 2 params: [ 3 Param { 4 ty: Foo 5 ty_span: Some($DIR/thir-tree-match.rs:15:19: 15:22 (#0)) 6 self_kind: None - hir_id: Some(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).1)) + hir_id: Some(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).1)) 8 param: Some( 9 Pat: { 10 ty: Foo 13 Binding { 14 name: "foo" 15 mode: BindingMode(No, Not) 15 mode: BindingMode(No, Not) - var: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).2)) + var: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2)) 17 ty: Foo 18 is_primary: true 19 subpattern: None 31 kind: 32 Scope { 33 region_scope: Node(26) 33 region_scope: Node(26) - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).26)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).26)) 36 Expr { 37 ty: bool 52 kind: 52 kind: 53 Scope { 54 region_scope: Node(3) - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).3)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).3)) 57 Expr { 58 ty: bool 68 kind: 68 kind: 69 Scope { 70 region_scope: Node(4) - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).4)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).4)) 73 Expr { 74 ty: Foo 76 span: $DIR/thir-tree-match.rs:16:11: 16:14 (#0) 78 VarRef { 78 VarRef { - id: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).2)) + id: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2)) 81 } 82 } 91 Variant { 91 Variant { 92 adt_def: 93 AdtDef { - did: DefId(0:10 ~ thir_tree_match[fcf8]::Foo) - variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[fcf8]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[fcf8]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[fcf8]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[fcf8])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[fcf8]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[fcf8]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] + did: DefId(0:10 ~ thir_tree_match[edc1]::Foo) + variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] 96 flags: IS_ENUM - repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3477539199540094892 } + repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 } 99 variant_index: 0 100 subpatterns: [ 105 Variant { 105 Variant { 106 adt_def: 107 AdtDef { - did: DefId(0:3 ~ thir_tree_match[fcf8]::Bar) - variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[fcf8]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[fcf8]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags: }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[fcf8]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[fcf8]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags: }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[fcf8]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[fcf8]::Bar::Third::{constructor#0}))), name: "Third", discr: Relative(2), fields: [], tainted: None, flags: }] + did: DefId(0:3 ~ thir_tree_match[edc1]::Bar) + variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[edc1]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[edc1]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags: }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[edc1]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[edc1]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags: }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[edc1]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[edc1]::Bar::Third::{constructor#0}))), name: "Third", discr: Relative(2), fields: [], tainted: None, flags: }] 110 flags: IS_ENUM - repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 10333377570083945360 } + repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 9953324668377615195 } 113 variant_index: 0 114 subpatterns: [] 128 kind: 128 kind: 129 Scope { 130 region_scope: Node(13) - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).13)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).13)) 133 Expr { 134 ty: bool 140 } 140 } 141 } 142 } - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).12)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).12)) 144 scope: Node(12) 145 span: $DIR/thir-tree-match.rs:17:9: 17:40 (#0) 153 Variant { 154 adt_def: 155 AdtDef { 155 AdtDef { - did: DefId(0:10 ~ thir_tree_match[fcf8]::Foo) - variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[fcf8]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[fcf8]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[fcf8]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[fcf8])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[fcf8]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[fcf8]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] + did: DefId(0:10 ~ thir_tree_match[edc1]::Foo) + variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] 158 flags: IS_ENUM - repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3477539199540094892 } + repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 } 161 variant_index: 0 162 subpatterns: [ 180 kind: 180 kind: 181 Scope { 182 region_scope: Node(19) - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).19)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).19)) 185 Expr { 186 ty: bool 192 } 192 } 193 } 194 } - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).18)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).18)) 196 scope: Node(18) 197 span: $DIR/thir-tree-match.rs:18:9: 18:32 (#0) 205 Variant { 206 adt_def: 207 AdtDef { 207 AdtDef { - did: DefId(0:10 ~ thir_tree_match[fcf8]::Foo) - variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[fcf8]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[fcf8]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[fcf8]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[fcf8])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[fcf8]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[fcf8]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] + did: DefId(0:10 ~ thir_tree_match[edc1]::Foo) + variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] 210 flags: IS_ENUM - repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3477539199540094892 } + repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 } 213 variant_index: 1 214 subpatterns: [] 224 kind: 224 kind: 225 Scope { 226 region_scope: Node(24) - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).24)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).24)) 229 Expr { 230 ty: bool 236 } 236 } 237 } 238 } - lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[fcf8]::has_match).23)) + lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).23)) 240 scope: Node(23) 241 span: $DIR/thir-tree-match.rs:19:9: 19:28 (#0) 251 } 252 253 253 - DefId(0:17 ~ thir_tree_match[fcf8]::main): + DefId(0:17 ~ thir_tree_match[edc1]::main): 255 params: [ 257 body: 262 kind: 263 Scope { 263 Scope { 264 region_scope: Node(2) - lint_level: Explicit(HirId(DefId(0:17 ~ thir_tree_match[fcf8]::main).2)) + lint_level: Explicit(HirId(DefId(0:17 ~ thir_tree_match[edc1]::main).2)) 267 Expr { 268 ty: () The actual stdout differed from the expected stdout. Actual stdout saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree-match/thir-tree-match.stdout To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args thir-print/thir-tree-match.rs` error: 1 errors occurred comparing output. status: exit status: 0 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/thir-print/thir-tree-match.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree-match" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/thir-print/thir-tree-match/auxiliary" "-Zunpretty=thir-tree" --- stdout ------------------------------- DefId(0:16 ~ thir_tree_match[edc1]::has_match): params: [ Param { ty: Foo ty_span: Some(/checkout/tests/ui/thir-print/thir-tree-match.rs:15:19: 15:22 (#0)) self_kind: None hir_id: Some(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).1)) param: Some( Pat: { ty: Foo span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:14: 15:17 (#0) kind: PatKind { name: "foo" mode: BindingMode(No, Not) mode: BindingMode(No, Not) var: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2)) ty: Foo is_primary: true subpattern: None } } ) } } ] body: Expr { ty: bool temp_lifetime: Some(Node(26)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0) kind: Scope { region_scope: Node(26) lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).26)) Expr { ty: bool temp_lifetime: Some(Node(26)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0) kind: Block { targeted_by_break: false span: /checkout/tests/ui/thir-print/thir-tree-match.rs:15:32: 21:2 (#0) region_scope: Node(25) safety_mode: Safe stmts: [] Expr { ty: bool temp_lifetime: Some(Node(26)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:5: 20:6 (#0) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:5: 20:6 (#0) kind: Scope { region_scope: Node(3) lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).3)) Expr { ty: bool temp_lifetime: Some(Node(26)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:5: 20:6 (#0) --- ty: Foo temp_lifetime: Some(Node(26)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:11: 16:14 (#0) kind: Scope { region_scope: Node(4) lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).4)) Expr { ty: Foo temp_lifetime: Some(Node(26)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:11: 16:14 (#0) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:16:11: 16:14 (#0) kind: VarRef { id: LocalVarId(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).2)) } } } arms: [ arms: [ Arm { pattern: Pat: { ty: Foo span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:9: 17:32 (#0) kind: PatKind { Variant { adt_def: AdtDef { did: DefId(0:10 ~ thir_tree_match[edc1]::Foo) variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] flags: IS_ENUM repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 } variant_index: 0 subpatterns: [ Pat: { ty: Bar ty: Bar span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:21: 17:31 (#0) kind: PatKind { Variant { adt_def: AdtDef { did: DefId(0:3 ~ thir_tree_match[edc1]::Bar) variants: [VariantDef { def_id: DefId(0:4 ~ thir_tree_match[edc1]::Bar::First), ctor: Some((Const, DefId(0:5 ~ thir_tree_match[edc1]::Bar::First::{constructor#0}))), name: "First", discr: Relative(0), fields: [], tainted: None, flags: }, VariantDef { def_id: DefId(0:6 ~ thir_tree_match[edc1]::Bar::Second), ctor: Some((Const, DefId(0:7 ~ thir_tree_match[edc1]::Bar::Second::{constructor#0}))), name: "Second", discr: Relative(1), fields: [], tainted: None, flags: }, VariantDef { def_id: DefId(0:8 ~ thir_tree_match[edc1]::Bar::Third), ctor: Some((Const, DefId(0:9 ~ thir_tree_match[edc1]::Bar::Third::{constructor#0}))), name: "Third", discr: Relative(2), fields: [], tainted: None, flags: }] flags: IS_ENUM repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 9953324668377615195 } variant_index: 0 subpatterns: [] } } --- ty: bool temp_lifetime: Some(Node(12)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0) kind: Scope { region_scope: Node(13) lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).13)) Expr { ty: bool temp_lifetime: Some(Node(12)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0) kind: Literal( lit: Spanned { node: Bool(true), span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:36: 17:40 (#0) }, neg: false) } } } } lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).12)) scope: Node(12) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:17:9: 17:40 (#0) Arm { pattern: Pat: { ty: Foo ty: Foo span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:9: 18:23 (#0) kind: PatKind { Variant { adt_def: AdtDef { did: DefId(0:10 ~ thir_tree_match[edc1]::Foo) variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] flags: IS_ENUM repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 } variant_index: 0 subpatterns: [ Pat: { ty: Bar --- ty: bool temp_lifetime: Some(Node(18)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0) kind: Scope { region_scope: Node(19) lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).19)) Expr { ty: bool temp_lifetime: Some(Node(18)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0) kind: Literal( lit: Spanned { node: Bool(false), span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:27: 18:32 (#0) }, neg: false) } } } } lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).18)) scope: Node(18) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:18:9: 18:32 (#0) Arm { pattern: Pat: { ty: Foo ty: Foo span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:9: 19:20 (#0) kind: PatKind { Variant { adt_def: AdtDef { did: DefId(0:10 ~ thir_tree_match[edc1]::Foo) variants: [VariantDef { def_id: DefId(0:11 ~ thir_tree_match[edc1]::Foo::FooOne), ctor: Some((Fn, DefId(0:12 ~ thir_tree_match[edc1]::Foo::FooOne::{constructor#0}))), name: "FooOne", discr: Relative(0), fields: [FieldDef { did: DefId(0:13 ~ thir_tree_match[edc1]::Foo::FooOne::0), name: "0", vis: Restricted(DefId(0:0 ~ thir_tree_match[edc1])) }], tainted: None, flags: }, VariantDef { def_id: DefId(0:14 ~ thir_tree_match[edc1]::Foo::FooTwo), ctor: Some((Const, DefId(0:15 ~ thir_tree_match[edc1]::Foo::FooTwo::{constructor#0}))), name: "FooTwo", discr: Relative(1), fields: [], tainted: None, flags: }] flags: IS_ENUM repr: ReprOptions { int: None, align: None, pack: None, flags: , field_shuffle_seed: 3772882502293276041 } variant_index: 1 subpatterns: [] } } --- ty: bool temp_lifetime: Some(Node(23)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0) kind: Scope { region_scope: Node(24) lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).24)) Expr { ty: bool temp_lifetime: Some(Node(23)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0) kind: Literal( lit: Spanned { node: Bool(true), span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:24: 19:28 (#0) }, neg: false) } } } } lint_level: Explicit(HirId(DefId(0:16 ~ thir_tree_match[edc1]::has_match).23)) scope: Node(23) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:19:9: 19:28 (#0) ] } } } } } } } } } DefId(0:17 ~ thir_tree_match[edc1]::main): params: [ body: Expr { ty: () temp_lifetime: Some(Node(2)) temp_lifetime: Some(Node(2)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0) kind: Scope { region_scope: Node(2) lint_level: Explicit(HirId(DefId(0:17 ~ thir_tree_match[edc1]::main).2)) Expr { ty: () temp_lifetime: Some(Node(2)) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0) span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0) kind: Block { targeted_by_break: false span: /checkout/tests/ui/thir-print/thir-tree-match.rs:23:11: 23:13 (#0) region_scope: Node(1) safety_mode: Safe stmts: [] expr: [] } } } ------------------------------------------ --- 25 LL | trait ToUnit<'a> { 26 | ^^^^^^^^^^^^^^^^ 27 - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) } - WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d54f]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d54f]::Assoc) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } + WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } 32 error[E0119]: conflicting implementations of trait `Overlap<fn(_)>` for type `fn(_)` 34 | The actual stderr differed from the expected stderr. The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/traits/next-solver/issue-118950-root-region/issue-118950-root-region.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args traits/next-solver/issue-118950-root-region.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/traits/next-solver/issue-118950-root-region.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/traits/next-solver/issue-118950-root-region" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/traits/next-solver/issue-118950-root-region/auxiliary" "-Znext-solver" --- stderr ------------------------------- error[E0412]: cannot find type `Missing` in this scope ##[error] --> /checkout/tests/ui/traits/next-solver/issue-118950-root-region.rs:19:55 | | LL | impl<T> Overlap<for<'a> fn(Assoc<'a, T>)> for T where Missing: Overlap<T> {} warning: the feature `lazy_type_alias` is incomplete and may not be safe to use and/or cause compiler crashes ##[warning] --> /checkout/tests/ui/traits/next-solver/issue-118950-root-region.rs:5:12 | | LL | #![feature(lazy_type_alias)] | ^^^^^^^^^^^^^^^ | = note: see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information = note: `#[warn(incomplete_features)]` on by default error[E0277]: the trait bound `*const T: ToUnit<'a>` is not satisfied | | LL | type Assoc<'a, T> = <*const T as ToUnit<'a>>::Unit; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ToUnit<'a>` is not implemented for `*const T` help: this trait has no implementations, consider adding one --> /checkout/tests/ui/traits/next-solver/issue-118950-root-region.rs:8:1 | LL | trait ToUnit<'a> { LL | trait ToUnit<'a> { | ^^^^^^^^^^^^^^^^ WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: ['^0.Named(DefId(0:15 ~ issue_118950_root_region[d9f8]::{impl#1}::'a), "'a"), ?1t], def_id: DefId(0:8 ~ issue_118950_root_region[d9f8]::Assoc) } error[E0119]: conflicting implementations of trait `Overlap<fn(_)>` for type `fn(_)` | | LL | impl<T> Overlap<T> for T {} LL | LL | LL | impl<T> Overlap<for<'a> fn(Assoc<'a, T>)> for T where Missing: Overlap<T> {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `fn(_)` error: aborting due to 3 previous errors; 1 warning emitted Some errors have detailed explanations: E0119, E0277, E0412. For more information about an error, try `rustc --explain E0119`. For more information about an error, try `rustc --explain E0119`. ------------------------------------------ ---- [ui] tests/ui/type-alias-impl-trait/auto-trait-leakage3.rs stdout ---- diff of stderr: - error: cannot check whether the hidden type of `auto_trait_leakage3[211d]::m::Foo::{opaque#0}` satisfies auto traits + error: cannot check whether the hidden type of `auto_trait_leakage3[ae2e]::m::Foo::{opaque#0}` satisfies auto traits 3 | 3 | 4 LL | is_send(foo()); The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/auto-trait-leakage3/auto-trait-leakage3.stderr To update references, rerun the tests and pass the `--bless` flag To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args type-alias-impl-trait/auto-trait-leakage3.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/auto-trait-leakage3.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/auto-trait-leakage3" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/auto-trait-leakage3/auxiliary" --- stderr ------------------------------- --- stderr ------------------------------- error: cannot check whether the hidden type of `auto_trait_leakage3[ae2e]::m::Foo::{opaque#0}` satisfies auto traits | | LL | is_send(foo()); | | | required by a bound introduced by this call | | = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule note: opaque type is declared here | LL | pub type Foo = impl std::fmt::Debug; | ^^^^^^^^^^^^^^^^^^^^ note: required by a bound in `is_send` note: required by a bound in `is_send` --> /checkout/tests/ui/type-alias-impl-trait/auto-trait-leakage3.rs:17:19 | LL | fn is_send<T: Send>(_: T) {} error: aborting due to 1 previous error ------------------------------------------ ---- [ui] tests/ui/type-alias-impl-trait/inference-cycle.rs stdout ---- diff of stderr: - error: cannot check whether the hidden type of `inference_cycle[4ecc]::m::Foo::{opaque#0}` satisfies auto traits + error: cannot check whether the hidden type of `inference_cycle[7d9a]::m::Foo::{opaque#0}` satisfies auto traits 3 | 3 | 4 LL | is_send(foo()); The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/inference-cycle/inference-cycle.stderr To update references, rerun the tests and pass the `--bless` flag To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args type-alias-impl-trait/inference-cycle.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/inference-cycle.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/inference-cycle" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/inference-cycle/auxiliary" --- stderr ------------------------------- --- stderr ------------------------------- error: cannot check whether the hidden type of `inference_cycle[7d9a]::m::Foo::{opaque#0}` satisfies auto traits | | LL | is_send(foo()); | | | required by a bound introduced by this call | | = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule note: opaque type is declared here | LL | pub type Foo = impl std::fmt::Debug; | ^^^^^^^^^^^^^^^^^^^^ note: required by a bound in `is_send` note: required by a bound in `is_send` --> /checkout/tests/ui/type-alias-impl-trait/inference-cycle.rs:21:19 | LL | fn is_send<T: Send>(_: T) {} error: aborting due to 1 previous error ------------------------------------------ ---- [ui] tests/ui/type-alias-impl-trait/reveal_local.rs stdout ---- diff of stderr: - error: cannot check whether the hidden type of `reveal_local[9507]::Foo::{opaque#0}` satisfies auto traits + error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits 2 --> $DIR/reveal_local.rs:12:15 4 LL | is_send::<Foo>(); 16 LL | fn is_send<T: Send>() {} 18 18 - error: cannot check whether the hidden type of `reveal_local[9507]::Foo::{opaque#0}` satisfies auto traits + error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits 20 --> $DIR/reveal_local.rs:22:15 22 LL | is_send::<Foo>(); The actual stderr differed from the expected stderr. The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/reveal_local/reveal_local.stderr To update references, rerun the tests and pass the `--bless` flag To only update this specific test, also pass `--test-args type-alias-impl-trait/reveal_local.rs` error: 1 errors occurred comparing output. status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/type-alias-impl-trait/reveal_local.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/reveal_local" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/type-alias-impl-trait/reveal_local/auxiliary" --- stderr ------------------------------- --- stderr ------------------------------- error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits | LL | is_send::<Foo>(); | ^^^ | | = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule note: opaque type is declared here | LL | type Foo = impl Debug; | ^^^^^^^^^^ note: required by a bound in `is_send` note: required by a bound in `is_send` --> /checkout/tests/ui/type-alias-impl-trait/reveal_local.rs:7:15 | LL | fn is_send<T: Send>() {} error: cannot check whether the hidden type of `reveal_local[13a8]::Foo::{opaque#0}` satisfies auto traits | LL | is_send::<Foo>(); | ^^^ | | = note: fetching the hidden types of an opaque inside of the defining scope is not supported. You can try moving the opaque type and the item that actually registers a hidden type into a new submodule note: opaque type is declared here | LL | type Foo = impl Debug; | ^^^^^^^^^^ note: required by a bound in `is_send` note: required by a bound in `is_send` --> /checkout/tests/ui/type-alias-impl-trait/reveal_local.rs:7:15 | LL | fn is_send<T: Send>() {} error: aborting due to 2 previous errors ------------------------------------------ ---- [ui] tests/ui/where-clauses/higher-ranked-fn-type.rs#verbose stdout ---- diff of stderr: - error[E0277]: the trait bound `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), "'b") ()): Foo` is not satisfied + error[E0277]: the trait bound `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ()): Foo` is not satisfied 3 | 4 LL | called() - | ^^^^^^^^ the trait `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[9e51]::called::'b), "'b") ())` + | ^^^^^^^^ the trait `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ())` 7 help: this trait has no implementations, consider adding one 8 --> $DIR/higher-ranked-fn-type.rs:6:1 The actual stderr differed from the expected stderr. Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/where-clauses/higher-ranked-fn-type.verbose/higher-ranked-fn-type.verbose.stderr To only update this specific test, also pass `--test-args where-clauses/higher-ranked-fn-type.rs` error in revision `verbose`: 1 errors occurred comparing output. status: exit status: 1 status: exit status: 1 command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/where-clauses/higher-ranked-fn-type.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--cfg" "verbose" "--check-cfg" "cfg(FALSE,quiet,verbose)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/where-clauses/higher-ranked-fn-type.verbose" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/where-clauses/higher-ranked-fn-type.verbose/auxiliary" "-Zverbose-internals" --- stderr ------------------------------- --- stderr ------------------------------- error[E0277]: the trait bound `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ()): Foo` is not satisfied | LL | called() LL | called() | ^^^^^^^^ the trait `for<Region(BrNamed(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), 'b))> Foo` is not implemented for `fn(&'^1_0.Named(DefId(0:6 ~ higher_ranked_fn_type[b132]::called::'b), "'b") ())` help: this trait has no implementations, consider adding one --> /checkout/tests/ui/where-clauses/higher-ranked-fn-type.rs:6:1 | LL | trait Foo { LL | trait Foo { | ^^^^^^^^^ note: required by a bound in `called` --> /checkout/tests/ui/where-clauses/higher-ranked-fn-type.rs:12:25 | LL | fn called() | ------ required by a bound in this function LL | where LL | for<'b> fn(&'b ()): Foo, | ^^^ required by this bound in `called` error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0277`. ------------------------------------------ 
@bors
Copy link
Collaborator

bors commented Jul 15, 2024

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

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (6f5329c): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

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

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

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

Instruction count

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

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

Max RSS (memory usage)

Results (primary 5.0%, secondary 8.6%)

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

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

Cycles

Results (primary 20.1%, secondary 19.1%)

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

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

Binary size

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

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

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

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

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

Urgau commented Jul 16, 2024

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

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

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

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

@lqd
Copy link
Member

lqd commented Jul 16, 2024

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

@Urgau
Copy link
Member Author

Urgau commented Jul 16, 2024

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

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

@Urgau
Copy link
Member Author

Urgau commented Jul 16, 2024

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

Closing.

@Urgau Urgau closed this Jul 16, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 16, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-testsuite Area: The testsuite used to check the correctness of rustc perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

8 participants