rust icon indicating copy to clipboard operation
rust copied to clipboard

Move lint level source explanation to the bottom

Open WaffleLapkin opened this issue 3 years ago • 2 comments

So, uhhhhh

r? @estebank

User-facing change

"note: #[warn(...)] on by default" and such are moved to the bottom of the diagnostic:

-   = note: `#[warn(unsupported_calling_conventions)]` on by default
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #87678 <https://github.com/rust-lang/rust/issues/87678>
+   = note: `#[warn(unsupported_calling_conventions)]` on by default

Why warning is enabled is the least important thing, so it shouldn't be the first note the user reads, IMO.

Developer-facing change

struct_span_lint and similar methods have a different signature.

Before: ..., impl for<'a> FnOnce(LintDiagnosticBuilder<'a, ()>) After: ..., impl Into<DiagnosticMessage>, impl for<'a, 'b> FnOnce(&'b mut DiagnosticBuilder<'a, ()>) -> &'b mut DiagnosticBuilder<'a, ()>

The reason for this is that struct_span_lint needs to edit the diagnostic after decorate closure is called. This also makes lint code a little bit nicer in my opinion.

Another option is to use impl for<'a> FnOnce(LintDiagnosticBuilder<'a, ()>) -> DiagnosticBuilder<'a, ()> altough I don't really see reasons to do let lint = lint.build(message) everywhere.

Subtle problem

By moving the message outside of the closure (that may not be called if the lint is disabled) format!(...) is executed earlier, possibly formatting Ty which may call a query that trims paths that crashes the compiler if there were no warnings...

I don't think it's that big of a deal, considering that we move from format!(...) to fluent (which is lazy by-default) anyway, however this required adding a workaround which is unfortunate.

P.S.

I'm sorry, I do not how to make this PR smaller/easier to review. Changes to the lint API affect SO MUCH 😢

WaffleLapkin avatar Sep 18 '22 17:09 WaffleLapkin

Some changes occurred in src/tools/clippy

cc @rust-lang/clippy

Some changes occurred in const_evaluatable.rs

cc @lcnr

rustc_macros::diagnostics was changed

cc @davidtwco, @compiler-errors, @JohnTitor, @estebank, @TaKO8Ki

rustc_error_messages was changed

cc @davidtwco, @compiler-errors, @JohnTitor, @estebank, @TaKO8Ki

Some changes occurred to MIR optimizations

cc @rust-lang/wg-mir-opt

rustbot avatar Sep 18 '22 17:09 rustbot

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

Click to see the possible cause of the failure (guessed by this bot)
Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
Check compiletest suite=ui-fulldeps mode=ui (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)

running 71 tests
......FF....F..F.....F.i..F.....FF.F..FFF.FFFFFF.F.F...................

---- [ui] src/test/ui-fulldeps/internal-lints/default_hash_types.rs stdout ----
diff of stderr:


4 LL |     let _map: HashMap<String, String> = HashMap::default();
6    |
6    |
+    = note: a `use rustc_data_structures::fx::FxHashMap` may be necessary
8   --> $DIR/default_hash_types.rs:4:9
9    |


10 LL | #![deny(rustc::default_hash_types)]
11    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
-    = note: a `use rustc_data_structures::fx::FxHashMap` may be necessary
13 
14 error: prefer `FxHashMap` over `HashMap`, it has better performance


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

error: 1 errors occurred comparing output.
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/default_hash_types.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/default_hash_types" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/default_hash_types/auxiliary"
stdout: none
--- stderr -------------------------------
error: prefer `FxHashMap` over `HashMap`, it has better performance
   |
   |
LL |     let _map: HashMap<String, String> = HashMap::default();
   |
   |
   = note: a `use rustc_data_structures::fx::FxHashMap` may be necessary
  --> /checkout/src/test/ui-fulldeps/internal-lints/default_hash_types.rs:4:9
   |
   |
LL | #![deny(rustc::default_hash_types)]


error: prefer `FxHashMap` over `HashMap`, it has better performance
   |
   |
LL |     let _map: HashMap<String, String> = HashMap::default();
   |
   |
   = note: a `use rustc_data_structures::fx::FxHashMap` may be necessary

error: prefer `FxHashSet` over `HashSet`, it has better performance
   |
   |
LL |     let _set: HashSet<String> = HashSet::default();
   |
   |
   = note: a `use rustc_data_structures::fx::FxHashSet` may be necessary

error: prefer `FxHashSet` over `HashSet`, it has better performance
   |
   |
LL |     let _set: HashSet<String> = HashSet::default();
   |
   |
   = note: a `use rustc_data_structures::fx::FxHashSet` may be necessary
error: aborting due to 4 previous errors
------------------------------------------



---- [ui] src/test/ui-fulldeps/internal-lints/existing_doc_keyword.rs stdout ----
diff of stderr:

4 LL | #[doc(keyword = "tadam")]
6    |
+    = help: only existing keywords are allowed in core/std
7 note: the lint level is defined here
8   --> $DIR/existing_doc_keyword.rs:8:9
8   --> $DIR/existing_doc_keyword.rs:8:9
9    |

10 LL | #![deny(rustc::existing_doc_keyword)]
-    = help: only existing keywords are allowed in core/std
13 
14 error: aborting due to previous error
15 
---
To only update this specific test, also pass `--test-args internal-lints/existing_doc_keyword.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/existing_doc_keyword.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/existing_doc_keyword" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/existing_doc_keyword/auxiliary"
stdout: none
--- stderr -------------------------------
error: found non-existing keyword `tadam` used in `#[doc(keyword = \"...\")]`
   |
   |
LL | #[doc(keyword = "tadam")] //~ ERROR
   |
   = help: only existing keywords are allowed in core/std
note: the lint level is defined here
  --> /checkout/src/test/ui-fulldeps/internal-lints/existing_doc_keyword.rs:8:9
  --> /checkout/src/test/ui-fulldeps/internal-lints/existing_doc_keyword.rs:8:9
   |
LL | #![deny(rustc::existing_doc_keyword)]

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



---- [ui] src/test/ui-fulldeps/internal-lints/query_stability.rs stdout ----
diff of stderr:

4 LL |     for _ in x.drain() {}
6    |
6    |
+    = note: if you believe this case to be fine, allow this lint and add a comment explaining your rationale
8   --> $DIR/query_stability.rs:4:9
9    |


10 LL | #![deny(rustc::potential_query_instability)]
11    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    = note: if you believe this case to be fine, allow this lint and add a comment explaining your rationale
14 error: using `iter` can result in unstable query results
15   --> $DIR/query_stability.rs:16:16



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

error: 1 errors occurred comparing output.
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/query_stability.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/query_stability" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/query_stability/auxiliary"
stdout: none
--- stderr -------------------------------
error: using `drain` can result in unstable query results
   |
   |
LL |     for _ in x.drain() {}
   |
   |
   = note: if you believe this case to be fine, allow this lint and add a comment explaining your rationale
  --> /checkout/src/test/ui-fulldeps/internal-lints/query_stability.rs:4:9
   |
   |
LL | #![deny(rustc::potential_query_instability)]

error: using `iter` can result in unstable query results
  --> /checkout/src/test/ui-fulldeps/internal-lints/query_stability.rs:16:16
   |
   |
LL |     for _ in x.iter() {}
   |
   |
   = note: if you believe this case to be fine, allow this lint and add a comment explaining your rationale
error: using `iter_mut` can result in unstable query results
  --> /checkout/src/test/ui-fulldeps/internal-lints/query_stability.rs:19:36
   |
   |
LL |     for _ in Some(&mut x).unwrap().iter_mut() {}
   |
   |
   = note: if you believe this case to be fine, allow this lint and add a comment explaining your rationale
error: using `into_iter` can result in unstable query results
  --> /checkout/src/test/ui-fulldeps/internal-lints/query_stability.rs:22:14
   |
LL |     for _ in x {}
LL |     for _ in x {}
   |              ^
   |
   = note: if you believe this case to be fine, allow this lint and add a comment explaining your rationale
error: aborting due to 4 previous errors
------------------------------------------



---- [ui] src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs stdout ----
diff of stderr:

4 LL | impl LintPass for Foo {
6    |
6    |
+    = help: try using `declare_lint_pass!` or `impl_lint_pass!` instead
8   --> $DIR/lint_pass_impl_without_macro.rs:4:9
9    |

10 LL | #![deny(rustc::lint_pass_impl_without_macro)]
10 LL | #![deny(rustc::lint_pass_impl_without_macro)]
11    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    = help: try using `declare_lint_pass!` or `impl_lint_pass!` instead
13 
14 error: implementing `LintPass` by hand


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

error: 1 errors occurred comparing output.
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro/auxiliary"
stdout: none
--- stderr -------------------------------
error: implementing `LintPass` by hand
   |
   |
LL | impl LintPass for Foo { //~ERROR implementing `LintPass` by hand
   |
   |
   = help: try using `declare_lint_pass!` or `impl_lint_pass!` instead
  --> /checkout/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs:4:9
   |
LL | #![deny(rustc::lint_pass_impl_without_macro)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: implementing `LintPass` by hand
   |
   |
LL |         impl LintPass for Custom { //~ERROR implementing `LintPass` by hand
...
...
LL | custom_lint_pass_macro!();
   |
   |
   = help: try using `declare_lint_pass!` or `impl_lint_pass!` instead
   = note: this error originates in the macro `custom_lint_pass_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors
------------------------------------------



---- [ui] src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/ty_tykind_usage" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "unstable-options" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/internal-lints/ty_tykind_usage/auxiliary"
stdout: none
--- stderr -------------------------------
error: usage of `ty::TyKind::<kind>`
   |
   |
LL |     let kind = TyKind::Bool; //~ ERROR usage of `ty::TyKind::<kind>`
   |                ^^^^^^ help: try using `ty::<kind>` directly: `ty`
note: the lint level is defined here
  --> /checkout/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs:11:8
   |
   |
LL | #[deny(rustc::usage_of_ty_tykind)]


error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Bool => (),                 //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Char => (),                 //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Int(..) => (),              //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Uint(..) => (),             //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Float(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Adt(..) => (),              //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Foreign(..) => (),          //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Str => (),                  //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Array(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Slice(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::RawPtr(..) => (),           //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Ref(..) => (),              //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::FnDef(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::FnPtr(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Dynamic(..) => (),          //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Closure(..) => (),          //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Generator(..) => (),        //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::GeneratorWitness(..) => (), //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Never => (),                //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Tuple(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Projection(..) => (),       //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Opaque(..) => (),           //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Param(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Bound(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Placeholder(..) => (),      //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Infer(..) => (),            //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |         TyKind::Error(_) => (),             //~ ERROR usage of `ty::TyKind::<kind>`
   |         ^^^^^^ help: try using `ty::<kind>` directly: `ty`

error: usage of `ty::TyKind::<kind>`
   |
   |
LL |     if let TyKind::Int(int_ty) = kind {} //~ ERROR usage of `ty::TyKind::<kind>`
   |            ^^^^^^ help: try using `ty::<kind>` directly: `ty`

thread 'rustc' panicked at 'failed to find message in primary or fallback fluent bundles', compiler/rustc_errors/src/translation.rs:64:9
   0:     0x7f157456852e - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::ha08bd098848a1e25
   1:     0x7f15745d1308 - core::fmt::write::h3d197bd7fec8130a
   1:     0x7f15745d1308 - core::fmt::write::h3d197bd7fec8130a
   2:     0x7f1574559311 - std::io::Write::write_fmt::hf15e2fceb8e3636f
   3:     0x7f157456b4fe - std::panicking::default_hook::{{closure}}::h8207cc32005b7c5e
   4:     0x7f157456b1be - std::panicking::default_hook::h879f28d5d2e17408
   5:     0x7f1574f1b554 - rustc_driver[73c8e760204621f2]::DEFAULT_HOOK::{closure#0}::{closure#0}
   6:     0x7f157456bcb1 - std::panicking::rust_panic_with_hook::h74e91077c26fced7
   7:     0x7f157456bad7 - std::panicking::begin_panic_handler::{{closure}}::h84c034404a7ed57d
   8:     0x7f1574568a64 - std::sys_common::backtrace::__rust_end_short_backtrace::he943d20a8a84c288
   9:     0x7f157456b7a2 - rust_begin_unwind
  10:     0x7f157451af03 - core::panicking::panic_fmt::h03b56255b8de9ef3
Some tests failed in compiletest suite=ui-fulldeps mode=ui host=x86_64-unknown-linux-gnu target=x86_64-unknown-linux-gnu
  11:     0x7f15745cdaa1 - core::panicking::panic_display::h6d13b5d501f6f339
  12:     0x7f15745cda4b - core::panicking::panic_str::h6b3012f06e34142d
  13:     0x7f157451ad76 - core::option::expect_failed::h802740aa15e620bc
  14:     0x7f1577c74c43 - <rustc_errors[4639b3fdf06aee6f]::emitter::EmitterWriter as rustc_errors[4639b3fdf06aee6f]::translation::Translate>::translate_message
  15:     0x7f1577c69d84 - <rustc_errors[4639b3fdf06aee6f]::emitter::EmitterWriter>::msg_to_buffer
  16:     0x7f1577c6a74c - <rustc_errors[4639b3fdf06aee6f]::emitter::EmitterWriter>::emit_message_default
  17:     0x7f1577c6805c - <rustc_errors[4639b3fdf06aee6f]::emitter::EmitterWriter as rustc_errors[4639b3fdf06aee6f]::emitter::Emitter>::emit_diagnostic
  18:     0x7f1577c78bda - <rustc_errors[4639b3fdf06aee6f]::json::Diagnostic>::from_errors_diagnostic
  19:     0x7f1577c7770c - <rustc_errors[4639b3fdf06aee6f]::json::JsonEmitter as rustc_errors[4639b3fdf06aee6f]::emitter::Emitter>::emit_diagnostic
  20:     0x7f1577cc49eb - <rustc_errors[4639b3fdf06aee6f]::HandlerInner>::emit_diagnostic
  21:     0x7f1577cc32c1 - <rustc_errors[4639b3fdf06aee6f]::Handler>::emit_diagnostic
  22:     0x7f1577ccbc7d - <() as rustc_errors[4639b3fdf06aee6f]::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
  23:     0x7f1577432e2b - rustc_middle[5e283c10211e23e]::lint::struct_lint_level::struct_lint_level_impl::<rustc_error_messages[e64807f889885155]::DiagnosticMessage>
  24:     0x7f157742cbf2 - rustc_middle[5e283c10211e23e]::lint::struct_lint_level::<rustc_error_messages[e64807f889885155]::DiagnosticMessage, <rustc_lint[829080bd00995501]::internal::TyTyKind as rustc_lint[829080bd00995501]::passes::LateLintPass>::check_ty::{closure#0}>
  25:     0x7f15774f8e2a - <rustc_middle[5e283c10211e23e]::ty::context::TyCtxt>::struct_span_lint_hir::<rustc_span[eb07ab32e60c1cc]::span_encoding::Span, rustc_error_messages[e64807f889885155]::DiagnosticMessage, <rustc_lint[829080bd00995501]::internal::TyTyKind as rustc_lint[829080bd00995501]::passes::LateLintPass>::check_ty::{closure#0}>
  26:     0x7f157747d0cf - <rustc_lint[829080bd00995501]::context::LateContext as rustc_lint[829080bd00995501]::context::LintContext>::struct_span_lint::<rustc_span[eb07ab32e60c1cc]::span_encoding::Span, rustc_error_messages[e64807f889885155]::DiagnosticMessage, <rustc_lint[829080bd00995501]::internal::TyTyKind as rustc_lint[829080bd00995501]::passes::LateLintPass>::check_ty::{closure#0}>
  27:     0x7f15774449cd - <rustc_lint[829080bd00995501]::internal::TyTyKind as rustc_lint[829080bd00995501]::passes::LateLintPass>::check_ty
  28:     0x7f157749e803 - <rustc_lint[829080bd00995501]::late::LateLintPassObjects as rustc_lint[829080bd00995501]::passes::LateLintPass>::check_ty
  29:     0x7f157510ae4f - rustc_hir[6f6bcd12f609723c]::intravisit::walk_fn::<rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects>>
  30:     0x7f15750a9bb2 - <rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects> as rustc_hir[6f6bcd12f609723c]::intravisit::Visitor>::visit_fn
  31:     0x7f157510d3ba - rustc_hir[6f6bcd12f609723c]::intravisit::walk_item::<rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects>>
  32:     0x7f15750ac054 - <rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects> as rustc_hir[6f6bcd12f609723c]::intravisit::Visitor>::visit_nested_item
  33:     0x7f15750a8406 - <rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects> as rustc_hir[6f6bcd12f609723c]::intravisit::Visitor>::visit_stmt
  34:     0x7f157510caac - rustc_hir[6f6bcd12f609723c]::intravisit::walk_expr::<rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects>>
  35:     0x7f15750a7f1f - <rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects> as rustc_hir[6f6bcd12f609723c]::intravisit::Visitor>::visit_expr
  36:     0x7f15750a99d1 - <rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects> as rustc_hir[6f6bcd12f609723c]::intravisit::Visitor>::visit_nested_body
  37:     0x7f15750a9bb2 - <rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects> as rustc_hir[6f6bcd12f609723c]::intravisit::Visitor>::visit_fn
  38:     0x7f157510d3ba - rustc_hir[6f6bcd12f609723c]::intravisit::walk_item::<rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects>>
  39:     0x7f15750ac054 - <rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects> as rustc_hir[6f6bcd12f609723c]::intravisit::Visitor>::visit_nested_item
  40:     0x7f157510bdbc - rustc_hir[6f6bcd12f609723c]::intravisit::walk_mod::<rustc_lint[829080bd00995501]::late::LateContextAndPass<rustc_lint[829080bd00995501]::late::LateLintPassObjects>>
  41:     0x7f15750a7a62 - rustc_lint[829080bd00995501]::late::late_lint_pass_crate::<rustc_lint[829080bd00995501]::late::LateLintPassObjects>
  42:     0x7f15750a6e6f - rustc_lint[829080bd00995501]::late::late_lint_crate::<rustc_lint[829080bd00995501]::BuiltinCombinedLateLintPass>
  43:     0x7f1575052698 - <rustc_session[9c2fcbfb9c0e7a50]::session::Session>::time::<(), rustc_lint[829080bd00995501]::late::check_crate<rustc_lint[829080bd00995501]::BuiltinCombinedLateLintPass, rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
  44:     0x7f157502b6b2 - rustc_data_structures[88cf5a3801a79fbc]::sync::join::<rustc_lint[829080bd00995501]::late::check_crate<rustc_lint[829080bd00995501]::BuiltinCombinedLateLintPass, rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}, rustc_lint[829080bd00995501]::late::check_crate<rustc_lint[829080bd00995501]::BuiltinCombinedLateLintPass, rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#1}, (), ()>
  45:     0x7f1575052a20 - <rustc_session[9c2fcbfb9c0e7a50]::session::Session>::time::<(), rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
  46:     0x7f157502c708 - std[cbb8deaedd3917d0]::panic::catch_unwind::<core[8207c3258571ca0e]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}::{closure#1}::{closure#2}>, ()>
  47:     0x7f15750d0ba5 - <core[8207c3258571ca0e]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}::{closure#1}> as core[8207c3258571ca0e]::ops::function::FnOnce<()>>::call_once
  48:     0x7f157502c829 - std[cbb8deaedd3917d0]::panic::catch_unwind::<core[8207c3258571ca0e]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}::{closure#1}>, ()>
  49:     0x7f1575054976 - <rustc_session[9c2fcbfb9c0e7a50]::session::Session>::time::<(), rustc_interface[93851a8ad3afe8d4]::passes::analysis::{closure#5}>
  50:     0x7f15750759ec - rustc_interface[93851a8ad3afe8d4]::passes::analysis
  51:     0x7f1576b37dc8 - rustc_query_system[32dc960d8a53c9e3]::query::plumbing::try_execute_query::<rustc_query_impl[37ed453da7d29069]::plumbing::QueryCtxt, rustc_query_system[32dc960d8a53c9e3]::query::caches::DefaultCache<(), core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>>
  52:     0x7f1576c188bb - rustc_query_system[32dc960d8a53c9e3]::query::plumbing::get_query::<rustc_query_impl[37ed453da7d29069]::queries::analysis, rustc_query_impl[37ed453da7d29069]::plumbing::QueryCtxt>
  53:     0x7f1576a16a6a - <rustc_query_impl[37ed453da7d29069]::Queries as rustc_middle[5e283c10211e23e]::ty::query::QueryEngine>::analysis
  54:     0x7f1574f7c446 - <rustc_interface[93851a8ad3afe8d4]::passes::QueryContext>::enter::<rustc_driver[73c8e760204621f2]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>
  55:     0x7f1574f31e3c - rustc_interface[93851a8ad3afe8d4]::interface::create_compiler_and_run::<core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>, rustc_driver[73c8e760204621f2]::run_compiler::{closure#1}>
  56:     0x7f1574f960bf - <scoped_tls[dcda34d3adf18490]::ScopedKey<rustc_span[eb07ab32e60c1cc]::SessionGlobals>>::set::<rustc_interface[93851a8ad3afe8d4]::interface::run_compiler<core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>, rustc_driver[73c8e760204621f2]::run_compiler::{closure#1}>::{closure#0}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>
  57:     0x7f1574f8008f - std[cbb8deaedd3917d0]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[93851a8ad3afe8d4]::util::run_in_thread_pool_with_globals<rustc_interface[93851a8ad3afe8d4]::interface::run_compiler<core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>, rustc_driver[73c8e760204621f2]::run_compiler::{closure#1}>::{closure#0}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>::{closure#0}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>
  58:     0x7f1574f333b1 - std[cbb8deaedd3917d0]::panic::catch_unwind::<core[8207c3258571ca0e]::panic::unwind_safe::AssertUnwindSafe<<std[cbb8deaedd3917d0]::thread::Builder>::spawn_unchecked_<rustc_interface[93851a8ad3afe8d4]::util::run_in_thread_pool_with_globals<rustc_interface[93851a8ad3afe8d4]::interface::run_compiler<core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>, rustc_driver[73c8e760204621f2]::run_compiler::{closure#1}>::{closure#0}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>::{closure#0}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>
  59:     0x7f1574f83c60 - <<std[cbb8deaedd3917d0]::thread::Builder>::spawn_unchecked_<rustc_interface[93851a8ad3afe8d4]::util::run_in_thread_pool_with_globals<rustc_interface[93851a8ad3afe8d4]::interface::run_compiler<core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>, rustc_driver[73c8e760204621f2]::run_compiler::{closure#1}>::{closure#0}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>::{closure#0}, core[8207c3258571ca0e]::result::Result<(), rustc_errors[4639b3fdf06aee6f]::ErrorGuaranteed>>::{closure#1} as core[8207c3258571ca0e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  60:     0x7f1574578aa5 - std::sys::unix::thread::Thread::new::thread_start::ha7e48239067192e4
  61:     0x7f1574313b43 - <unknown>
  62:     0x7f15743a5a00 - <unknown>
  63:                0x0 - <unknown>
error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.


note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.66.0-nightly (6d203eb71 2022-09-18) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0 -Z unstable-options
query stack during panic:
query stack during panic:
#0 [analysis] running analysis passes on this crate
error: aborting due to 29 previous errors
------------------------------------------



---- [ui] src/test/ui-fulldeps/issue-15778-fail.rs stdout ----

error: auxiliary build of "/checkout/src/test/ui-fulldeps/auxiliary/lint-for-crate.rs" failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/auxiliary/lint-for-crate.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/issue-15778-fail/auxiliary" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--crate-type" "dylib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/issue-15778-fail/auxiliary"
stdout: none
--- stderr -------------------------------
  --> /checkout/src/test/ui-fulldeps/auxiliary/lint-for-crate.rs:7:1
   |
LL | #[macro_use]
   | ^^^^^^^^^^^^
   | ^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

error[E0282]: type annotations needed
  --> /checkout/src/test/ui-fulldeps/auxiliary/lint-for-crate.rs:32:38
   |
LL |             cx.lint(CRATE_NOT_OKAY, |lint| {
   |                                      ^^^^
LL |                 lint.build("crate is not marked with #![crate_okay]").set_span(span).emit();
   |                 ---- type must be known at this point
   |
help: consider giving this closure parameter an explicit type
   |
LL |             cx.lint(CRATE_NOT_OKAY, |lint: _| {

error[E0061]: this function takes 3 arguments but 2 arguments were supplied
  --> /checkout/src/test/ui-fulldeps/auxiliary/lint-for-crate.rs:32:16
   |
   |
LL |               cx.lint(CRATE_NOT_OKAY, |lint| {
   |  ________________^^^^-
LL | |                 lint.build("crate is not marked with #![crate_okay]").set_span(span).emit();
LL | |             });
   | |______________- an argument is missing
note: associated function defined here
  --> /checkout/compiler/rustc_lint/src/context.rs:917:8
   |
LL |     fn lint(
LL |     fn lint(
   |        ^^^^
help: provide the argument
   |
LL ~             cx.lint(CRATE_NOT_OKAY, |lint| {
LL +                 lint.build("crate is not marked with #![crate_okay]").set_span(span).emit();
LL ~             }, /* value */);

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

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


---- [ui] src/test/ui-fulldeps/lint-group-denied-lint-allowed.rs stdout ----

error: auxiliary build of "/checkout/src/test/ui-fulldeps/auxiliary/lint-group-plugin-test.rs" failed to compile: 
status: exit status: 1
command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui-fulldeps/auxiliary/lint-group-plugin-test.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/lint-group-denied-lint-allowed/auxiliary" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--crate-type" "dylib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui-fulldeps/lint-group-denied-lint-allowed/auxiliary"
stdout: none
--- stderr -------------------------------
  --> /checkout/src/test/ui-fulldeps/auxiliary/lint-group-plugin-test.rs:8:1
   |
LL | #[macro_use]
   | ^^^^^^^^^^^^
   | ^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

warning: unused imports: `LintArray`, `LintPass`
   |
   |
LL | use rustc_lint::{LateContext, LateLintPass, LintArray, LintContext, LintId, LintPass};

rust-log-analyzer avatar Sep 18 '22 18:09 rust-log-analyzer

You'll need to re--bless :)

estebank avatar Sep 22 '22 14:09 estebank

I forget that clippy exists every time xd

WaffleLapkin avatar Sep 22 '22 16:09 WaffleLapkin

The Miri subtree was changed

cc @rust-lang/miri

rustbot avatar Sep 23 '22 09:09 rustbot

I think this should be at least rollup=never, since it will conflict with basically any lint change.

WaffleLapkin avatar Sep 23 '22 19:09 WaffleLapkin

:umbrella: The latest upstream changes (presumably #102064) made this pull request unmergeable. Please resolve the merge conflicts.

bors avatar Sep 24 '22 11:09 bors

r=me after rebasing

estebank avatar Sep 28 '22 14:09 estebank

I got more conflicts, while rebasing ✌️

brb rebasing again

WaffleLapkin avatar Sep 29 '22 18:09 WaffleLapkin

So, I've rebased+squashed commits. It would be nice if this gets merged before the conflicts return :')

WaffleLapkin avatar Sep 29 '22 23:09 WaffleLapkin

@bors r=estebank rollup=never

cjgillot avatar Sep 30 '22 06:09 cjgillot

:pushpin: Commit 0458be4349d1952034f6340e891ba38ce2aa9fd6 has been approved by estebank

It is now in the queue for this repository.

bors avatar Sep 30 '22 06:09 bors

@bors p=5 bitrotty

matthiaskrgr avatar Sep 30 '22 06:09 matthiaskrgr

:hourglass: Testing commit 0458be4349d1952034f6340e891ba38ce2aa9fd6 with merge 912ec714d3ff33835fe8f6eb9f6ed0839e36a156...

bors avatar Sep 30 '22 07:09 bors

:broken_heart: Test failed - checks-actions

bors avatar Sep 30 '22 07:09 bors

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

Click to see the possible cause of the failure (guessed by this bot)

---- [ui] src/test/ui/asm/aarch64/type-check-3.rs stdout ----
diff of stderr:

4 LL |         asm!("{}", in(reg) 0u8);
5    |               ^^           --- for this argument
6    |
-    = note: `#[warn(asm_sub_register)]` on by default
8    = help: use `{0:w}` to have the register formatted as `w0`
9    = help: or use `{0:x}` to keep the default formatting of `x0`
+    = note: `#[warn(asm_sub_register)]` on by default
11 warning: formatting may not be suitable for sub-register argument
12   --> $DIR/type-check-3.rs:50:15



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

error: 1 errors occurred comparing output.
status: exit status: 1
status: exit status: 1
command: "/checkout/obj/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/asm/aarch64/type-check-3.rs" "-Zthreads=1" "--target=aarch64-unknown-linux-gnu" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/asm/aarch64/type-check-3" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-C" "target-feature=+neon" "-L" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/ui/asm/aarch64/type-check-3/auxiliary"
stdout: none
--- stderr -------------------------------
warning: formatting may not be suitable for sub-register argument
   |
   |
LL |         asm!("{}", in(reg) 0u8);
   |               ^^           --- for this argument
   |
   = help: use `{0:w}` to have the register formatted as `w0`
   = help: or use `{0:x}` to keep the default formatting of `x0`
   = note: `#[warn(asm_sub_register)]` on by default
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:50:15
   |
   |
LL |         asm!("{}", in(reg) 0u16);
Some tests failed in compiletest suite=ui mode=ui host=aarch64-unknown-linux-gnu target=aarch64-unknown-linux-gnu
   |               ^^           ---- for this argument
   |
   = help: use `{0:w}` to have the register formatted as `w0`
   = help: or use `{0:x}` to keep the default formatting of `x0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:52:15
   |
   |
LL |         asm!("{}", in(reg) 0i32);
   |               ^^           ---- for this argument
   |
   = help: use `{0:w}` to have the register formatted as `w0`
   = help: or use `{0:x}` to keep the default formatting of `x0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:54:15
   |
   |
LL |         asm!("{}", in(reg) 0f32);
   |               ^^           ---- for this argument
   |
   = help: use `{0:w}` to have the register formatted as `w0`
   = help: or use `{0:x}` to keep the default formatting of `x0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:57:15
   |
   |
LL |         asm!("{}", in(vreg) 0i16);
   |               ^^            ---- for this argument
   |
   = help: use `{0:h}` to have the register formatted as `h0`
   = help: or use `{0:v}` to keep the default formatting of `v0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:59:15
   |
   |
LL |         asm!("{}", in(vreg) 0f32);
   |               ^^            ---- for this argument
   |
   = help: use `{0:s}` to have the register formatted as `s0`
   = help: or use `{0:v}` to keep the default formatting of `v0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:61:15
   |
   |
LL |         asm!("{}", in(vreg) 0f64);
   |               ^^            ---- for this argument
   |
   = help: use `{0:d}` to have the register formatted as `d0`
   = help: or use `{0:v}` to keep the default formatting of `v0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:63:15
   |
   |
LL |         asm!("{}", in(vreg_low16) 0f64);
   |               ^^                  ---- for this argument
   |
   = help: use `{0:d}` to have the register formatted as `d0`
   = help: or use `{0:v}` to keep the default formatting of `v0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:66:15
   |
   |
LL |         asm!("{0} {0}", in(reg) 0i16);
   |               ^^^ ^^^           ---- for this argument
   |
   = help: use `{0:w}` to have the register formatted as `w0`
   = help: or use `{0:x}` to keep the default formatting of `x0`
warning: formatting may not be suitable for sub-register argument
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:68:15
   |
   |
LL |         asm!("{0} {0:x}", in(reg) 0i16);
   |               ^^^                 ---- for this argument
   |
   = help: use `{0:w}` to have the register formatted as `w0`
   = help: or use `{0:x}` to keep the default formatting of `x0`
error: type `i128` cannot be used with this register class
  --> /checkout/src/test/ui/asm/aarch64/type-check-3.rs:73:28
   |
   |
LL |         asm!("{}", in(reg) 0i128);
   |
   |
   = note: register class `reg` supports these types: i8, i16, i32, i64, f32, f64

error: type `float64x2_t` cannot be used with this register class
   |
   |
LL |         asm!("{}", in(reg) f64x2);
   |
   |
   = note: register class `reg` supports these types: i8, i16, i32, i64, f32, f64

error: type `Simd256bit` cannot be used with this register class
   |
   |
LL |         asm!("{}", in(vreg) f64x4);
   |
   |
   = note: register class `vreg` supports these types: i8, i16, i32, i64, f32, f64, i8x8, i16x4, i32x2, i64x1, f32x2, f64x1, i8x16, i16x8, i32x4, i64x2, f32x4, f64x2

error: incompatible types for asm inout argument
   |
   |
LL |         asm!("{:x}", inout(reg) 0u32 => val_f32);
   |                                 ^^^^    ^^^^^^^ type `f32`
   |                                 type `u32`
   |
   |
   = note: asm inout arguments must have the same type, unless they are both pointers or integers of the same size

error: incompatible types for asm inout argument
   |
   |
LL |         asm!("{:x}", inout(reg) 0u32 => val_ptr);
   |                                 ^^^^    ^^^^^^^ type `*mut u8`
   |                                 type `u32`
   |
   |
   = note: asm inout arguments must have the same type, unless they are both pointers or integers of the same size

error: incompatible types for asm inout argument
   |
   |
LL |         asm!("{:x}", inout(reg) main => val_u32);
   |                                 |
   |                                 type `fn()`
   |
   |
   = note: asm inout arguments must have the same type, unless they are both pointers or integers of the same size
error: aborting due to 6 previous errors; 10 warnings emitted
------------------------------------------


rust-log-analyzer avatar Sep 30 '22 07:09 rust-log-analyzer

Blessed that-one-aarch64-only test, it seems like it's the only only-* test that is affected by these changes. Lets try again

WaffleLapkin avatar Sep 30 '22 08:09 WaffleLapkin

@bors r=estebank rollup=never

TaKO8Ki avatar Oct 01 '22 05:10 TaKO8Ki

:pushpin: Commit caa3937e14c20ff91555af7cb108102ed0dc5220 has been approved by estebank

It is now in the queue for this repository.

bors avatar Oct 01 '22 05:10 bors

:hourglass: Testing commit caa3937e14c20ff91555af7cb108102ed0dc5220 with merge 7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9...

bors avatar Oct 01 '22 06:10 bors

:broken_heart: Test failed - checks-actions

bors avatar Oct 01 '22 08:10 bors

The job dist-apple-various failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
      Memory: 14 GB
      System Firmware Version: VMW71.00V.13989454.B64.1906190538
      Apple ROM Info: [MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]Welcome to the Virtual Machine
      SMC Version (system): 2.8f0
      Serial Number (system): VMgqOoi6dxJZ
      Provisioning UDID: 4203018E-580F-C1B5-9525-B745CECA79EB

hw.ncpu: 3
hw.byteorder: 1234
---
[RUSTC-TIMING] hashbrown test:false 2.334
[RUSTC-TIMING] panic_abort test:false 0.069
[RUSTC-TIMING] rustc_demangle test:false 1.133
    Checking std v0.0.0 (/Users/runner/work/rust/rust/library/std)
error: internal compiler error: no warnings or errors encountered even though `delayed_good_path_bugs` issued

error: internal compiler error: trimmed_def_paths constructed
  = note: delayed at    0: std::backtrace_rs::backtrace::libunwind::trace
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
             1: std::backtrace_rs::backtrace::trace_unsynchronized
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
             2: std::backtrace::Backtrace::create
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/backtrace.rs:333:13
             3: std::backtrace::Backtrace::force_capture
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/backtrace.rs:314:9
             4: <rustc_errors::Handler>::delay_good_path_bug::<&str>
             5: rustc_middle::ty::print::pretty::trimmed_def_paths
             6: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::ArenaCache<(), std::collections::hash::map::HashMap<rustc_span::def_id::DefId, rustc_span::symbol::Symbol, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>>
             7: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::trimmed_def_paths, rustc_query_impl::plumbing::QueryCtxt>
             8: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::Printer>::print_def_path
             9: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::Printer>::print_type
            10: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::Printer>::print_type
            11: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::pretty::PrettyPrinter>::comma_sep::<rustc_middle::ty::Ty, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Ty>>>
            12: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::pretty::PrettyPrinter>::pretty_fn_sig
            13: <rustc_middle::ty::sty::FnSig as rustc_middle::ty::print::Print<rustc_middle::ty::print::pretty::FmtPrinter>>::print
            14: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::pretty::PrettyPrinter>::in_binder::<rustc_middle::ty::sty::FnSig>
            15: <rustc_middle::ty::sty::Binder<rustc_middle::ty::sty::FnSig> as core::fmt::Display>::fmt
            16: <rustc_lint::builtin::ClashingExternDeclarations as rustc_lint::passes::LateLintPass>::check_foreign_item
            17: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_foreign_item
            18: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            19: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
            20: rustc_hir::intravisit::walk_block::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            21: rustc_hir::intravisit::walk_expr::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            22: rustc_hir::intravisit::walk_body::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            23: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_body
            24: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            25: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
            26: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            27: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
            28: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            29: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
            30: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            31: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
            32: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass>>
            33: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
            34: rustc_lint::late::late_lint_crate::<rustc_lint::BuiltinCombinedLateLintPass>
            35: <rustc_session::session::Session>::time::<(), rustc_lint::late::check_crate<rustc_lint::BuiltinCombinedLateLintPass, rustc_interface::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
            36: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
            37: <core::panic::unwind_safe::AssertUnwindSafe<rustc_interface::passes::analysis::{closure#5}::{closure#1}> as core::ops::function::FnOnce<()>>::call_once
            38: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#5}>
            40: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<(), core::result::Result<(), rustc_errors::ErrorGuaranteed>>>
            41: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
            42: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            43: <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorGuaranteed>>
            43: <rustc_interface::interface::Compiler>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_errors::ErrorGuaranteed>>
            44: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::create_compiler_and_run<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#1}>
            45: rustc_interface::interface::create_compiler_and_run::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>
            46: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            47: std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            48: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            49: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/alloc/src/boxed.rs:1938:9
            50: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/alloc/src/boxed.rs:1938:9
                       at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/sys/unix/thread.rs:108:17
            52: __pthread_start
          


thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1536:13
stack backtrace:
   0:        0x117460d02 - std::backtrace_rs::backtrace::libunwind::trace::hcc58c68f8950d453
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   1:        0x117460d02 - std::backtrace_rs::backtrace::trace_unsynchronized::h89ef3acc893735f0
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:        0x117460d02 - std::sys_common::backtrace::_print_fmt::h004894c8c52eec26
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/sys_common/backtrace.rs:66:5
   3:        0x117460d02 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h3cfa4f7a71d2437f
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/sys_common/backtrace.rs:45:22
   4:        0x1174b848a - core::fmt::write::h4eda99704eb3ee0b
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/core/src/fmt/mod.rs:1209:17
   5:        0x117452c5c - std::io::Write::write_fmt::h7681cecabaf07de5
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/io/mod.rs:1679:15
   6:        0x117463d9b - std::sys_common::backtrace::_print::hb1676fc46ce7061a
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/sys_common/backtrace.rs:48:5
   7:        0x117463d9b - std::sys_common::backtrace::print::h946b6115f331cf87
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/sys_common/backtrace.rs:35:9
   8:        0x117463d9b - std::panicking::default_hook::{{closure}}::h8aaeba06950cbc70
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/panicking.rs:267:22
   9:        0x117463aa7 - std::panicking::default_hook::he83f4ae88a324c2c
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/panicking.rs:286:9
  10:        0x10e280bda - rustc_driver[fd3fd07d2149785b]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:        0x11746450a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h2ae3e23cca3af321
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/alloc/src/boxed.rs:1952:9
  12:        0x11746450a - std::panicking::rust_panic_with_hook::hcfabd7aface28828
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/panicking.rs:673:13
  13:        0x112c4a717 - std[7680b48f5a2a7111]::panicking::begin_panic::<rustc_errors[c7433642c6a85f5b]::ExplicitBug>::{closure#0}
  14:        0x112c48a39 - std[7680b48f5a2a7111]::sys_common::backtrace::__rust_end_short_backtrace::<std[7680b48f5a2a7111]::panicking::begin_panic<rustc_errors[c7433642c6a85f5b]::ExplicitBug>::{closure#0}, !>
  15:        0x112ff7319 - std[7680b48f5a2a7111]::panicking::begin_panic::<rustc_errors[c7433642c6a85f5b]::ExplicitBug>
  16:        0x112c396e9 - std[7680b48f5a2a7111]::panic::panic_any::<rustc_errors[c7433642c6a85f5b]::ExplicitBug>
  17:        0x112c3dec5 - <rustc_errors[c7433642c6a85f5b]::HandlerInner as core[d9110ab86072c25c]::ops::drop::Drop>::drop
  18:        0x10e2b38ba - core[d9110ab86072c25c]::ptr::drop_in_place::<rustc_session[f2c565e31c84d7ab]::parse::ParseSess>
  19:        0x10e2b675b - <alloc[113290240ff174e3]::rc::Rc<rustc_session[f2c565e31c84d7ab]::session::Session> as core[d9110ab86072c25c]::ops::drop::Drop>::drop
  20:        0x10e2fece2 - core[d9110ab86072c25c]::ptr::drop_in_place::<rustc_interface[203975543703cfb1]::interface::Compiler>
  21:        0x10e2fcbe0 - rustc_span[91581a51aa2052fe]::with_source_map::<core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>, rustc_interface[203975543703cfb1]::interface::create_compiler_and_run<core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>, rustc_driver[fd3fd07d2149785b]::run_compiler::{closure#1}>::{closure#1}>
  22:        0x10e288160 - rustc_interface[203975543703cfb1]::interface::create_compiler_and_run::<core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>, rustc_driver[fd3fd07d2149785b]::run_compiler::{closure#1}>
  23:        0x10e2f12b5 - <scoped_tls[2785d8421e1cf6df]::ScopedKey<rustc_span[91581a51aa2052fe]::SessionGlobals>>::set::<rustc_interface[203975543703cfb1]::interface::run_compiler<core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>, rustc_driver[fd3fd07d2149785b]::run_compiler::{closure#1}>::{closure#0}, core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>>
  24:        0x10e2bc73a - std[7680b48f5a2a7111]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[203975543703cfb1]::util::run_in_thread_pool_with_globals<rustc_interface[203975543703cfb1]::interface::run_compiler<core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>, rustc_driver[fd3fd07d2149785b]::run_compiler::{closure#1}>::{closure#0}, core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>>::{closure#0}, core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>>
  25:        0x10e2c0a28 - <<std[7680b48f5a2a7111]::thread::Builder>::spawn_unchecked_<rustc_interface[203975543703cfb1]::util::run_in_thread_pool_with_globals<rustc_interface[203975543703cfb1]::interface::run_compiler<core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>, rustc_driver[fd3fd07d2149785b]::run_compiler::{closure#1}>::{closure#0}, core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>>::{closure#0}, core[d9110ab86072c25c]::result::Result<(), rustc_errors[c7433642c6a85f5b]::ErrorGuaranteed>>::{closure#1} as core[d9110ab86072c25c]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  26:        0x11746d347 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h4d01bfa5767ab76d
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/alloc/src/boxed.rs:1938:9
  27:        0x11746d347 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h36a598851758cd97
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/alloc/src/boxed.rs:1938:9
  28:        0x11746d347 - std::sys::unix::thread::Thread::new::thread_start::h9ae618be94cf61eb
                               at /rustc/7c6fb70c1efe59fbf97066f1e7b756fe0cef5ef9/library/std/src/sys/unix/thread.rs:108:17
  29:     0x7fff204388fc - __pthread_start
note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md


note: rustc 1.66.0-nightly (7c6fb70c1 2022-10-01) running on x86_64-apple-darwin

note: compiler flags: --crate-type dylib --crate-type rlib -C prefer-dynamic -C opt-level=3 -C embed-bitcode=no -C split-debuginfo=unpacked -C codegen-units=1 -C debuginfo=1 -Z unstable-options -C linker=/Users/runner/work/rust/rust/clang+llvm-14.0.5-x86_64-apple-darwin/bin/clang -C symbol-mangling-version=legacy -Z unstable-options -Z unstable-options -Z macro-backtrace -Z osx-rpath-install-name -C link-args=-Wl,-rpath,@loader_path/../lib -C split-debuginfo=unpacked -C prefer-dynamic -C embed-bitcode=yes -Z crate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/") -Z binary-dep-depinfo -Z force-unstable-if-unmarked
note: some of the compiler flags provided by cargo are hidden

query stack during panic:
end of query stack

rust-log-analyzer avatar Oct 01 '22 08:10 rust-log-analyzer

@bors delegate+

Feel free to move this PR along yourself

oli-obk avatar Oct 01 '22 10:10 oli-obk

:v: @WaffleLapkin can now approve this pull request

bors avatar Oct 01 '22 10:10 bors

@bors r=estebank

oli-obk avatar Oct 01 '22 10:10 oli-obk

:pushpin: Commit b5b3ffe3fc9cfb524a6432ec60a0fc95c514d2e1 has been approved by estebank

It is now in the queue for this repository.

bors avatar Oct 01 '22 10:10 bors

:hourglass: Testing commit b5b3ffe3fc9cfb524a6432ec60a0fc95c514d2e1 with merge 744e397d8855f7da87d70aa8d0bd9e0f5f0b51a1...

bors avatar Oct 01 '22 10:10 bors

:sunny: Test successful - checks-actions Approved by: estebank Pushing 744e397d8855f7da87d70aa8d0bd9e0f5f0b51a1 to master...

bors avatar Oct 01 '22 13:10 bors

Finished benchmarking commit (744e397d8855f7da87d70aa8d0bd9e0f5f0b51a1): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression cc @rust-lang/wg-compiler-performance

Instruction count

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

mean[^1] range count[^2]
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.0% [0.9%, 1.0%] 2
Improvements ✅
(primary)
-0.3% [-0.3%, -0.2%] 3
Improvements ✅
(secondary)
-0.9% [-1.4%, -0.3%] 8
All ❌✅ (primary) -0.3% [-0.3%, -0.2%] 3

Max RSS (memory usage)

Results

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[^1] range count[^2]
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.1% [3.6%, 4.6%] 2
Improvements ✅
(primary)
-3.0% [-3.3%, -2.7%] 2
Improvements ✅
(secondary)
-3.1% [-5.8%, -1.3%] 5
All ❌✅ (primary) -3.0% [-3.3%, -2.7%] 2

Cycles

Results

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[^1] range count[^2]
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.6% [-2.6%, -2.6%] 1
Improvements ✅
(secondary)
-3.3% [-3.6%, -3.0%] 2
All ❌✅ (primary) -2.6% [-2.6%, -2.6%] 1

[^1]: the arithmetic mean of the percent change [^2]: number of relevant changes

rust-timer avatar Oct 01 '22 15:10 rust-timer

The tiny icount regressions are matched or exceeded by the tiny icount improvements. This seems fine.

@rustbot label: +perf-regression-triaged

nnethercote avatar Oct 02 '22 23:10 nnethercote