Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Faster fmt::Display of 128-bit integers, without unsafe pointer #136594

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

pascaldekloe
Copy link
Contributor

In followup of #135265, hereby the 128-bit part.

  • Batches per 16 instead of 19 digits
  • Buffer access as array insteaf of unsafe pointer
  • Added test coverage for i128 and u128

r? tgross35 ChrisDenton

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Feb 5, 2025
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
#22 exporting to docker image format
#22 sending tarball 28.3s done
#22 DONE 33.8s
##[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-18]
debug: `DISABLE_CI_RUSTC_IF_INCOMPATIBLE` configured.
---
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-18', '--enable-llvm-link-shared', '--set', 'rust.randomize-layout=true', '--set', 'rust.thin-lto-import-instr-limit=10', '--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-18/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.randomize-layout := True
configure: rust.thin-lto-import-instr-limit := 10
---
failures:

---- [ui] tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
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/half-open-range-patterns/half-open-range-pats-exhaustive-fail.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(test,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/half-open-range-patterns/half-open-range-pats-exhaustive-fail" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
error[E0004]: non-exhaustive patterns: `_` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:14:8
   |
   |
LL |     m!(0f32, f32::NEG_INFINITY..); //~ ERROR non-exhaustive patterns: `_` not covered
   |        ^^^^ pattern `_` not covered
   = note: the matched value is of type `f32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, _ => todo!() }

error[E0004]: non-exhaustive patterns: `_` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:15:8
   |
   |
LL |     m!(0f32, ..f32::INFINITY); //~ ERROR non-exhaustive patterns: `_` not covered
   |        ^^^^ pattern `_` not covered
   = note: the matched value is of type `f32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, _ => todo!() }


error[E0004]: non-exhaustive patterns: `'\u{10ffff}'` not covered
   |
   |
LL |     m!('a', ..core::char::MAX); //~ ERROR non-exhaustive patterns
   |        ^^^ pattern `'\u{10ffff}'` not covered
   = note: the matched value is of type `char`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, '\u{10ffff}' => todo!() }


error[E0004]: non-exhaustive patterns: `'\u{10fffe}'..='\u{10ffff}'` not covered
   |
   |
LL |     m!('a', ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |        ^^^ pattern `'\u{10fffe}'..='\u{10ffff}'` not covered
   = note: the matched value is of type `char`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, '\u{10fffe}'..='\u{10ffff}' => todo!() }


error[E0004]: non-exhaustive patterns: `'\0'` not covered
   |
   |
LL |     m!('a', ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |        ^^^ pattern `'\0'` not covered
   = note: the matched value is of type `char`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, '\0' => todo!() }


error[E0004]: non-exhaustive patterns: `'\u{10ffff}'` not covered
   |
   |
LL |     m!('a', ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |        ^^^ pattern `'\u{10ffff}'` not covered
   = note: the matched value is of type `char`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, '\u{10ffff}' => todo!() }


error[E0004]: non-exhaustive patterns: `'b'` not covered
   |
   |
LL |     m!('a', ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |        ^^^ pattern `'b'` not covered
   = note: the matched value is of type `char`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 'b' => todo!() }


error[E0004]: non-exhaustive patterns: `'b'` not covered
   |
   |
LL |     m!('a', ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |        ^^^ pattern `'b'` not covered
   = note: the matched value is of type `char`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 'b' => todo!() }

error[E0004]: non-exhaustive patterns: `u8::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:39:12
   |
   |
LL |         m!(0, ..u8::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u8::MAX` not covered
   = note: the matched value is of type `u8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u8::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `254_u8..=u8::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `254_u8..=u8::MAX` not covered
   = note: the matched value is of type `u8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 254_u8..=u8::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `0_u8` not covered
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `0_u8` not covered
   = note: the matched value is of type `u8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 0_u8 => todo!() }

error[E0004]: non-exhaustive patterns: `u8::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:42:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u8::MAX` not covered
   = note: the matched value is of type `u8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u8::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `43_u8` not covered
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u8` not covered
   = note: the matched value is of type `u8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u8 => todo!() }


error[E0004]: non-exhaustive patterns: `43_u8` not covered
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u8` not covered
   = note: the matched value is of type `u8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u8 => todo!() }

error[E0004]: non-exhaustive patterns: `u16::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:52:12
   |
   |
LL |         m!(0, ..u16::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u16::MAX` not covered
   = note: the matched value is of type `u16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u16::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `65534_u16..=u16::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `65534_u16..=u16::MAX` not covered
   = note: the matched value is of type `u16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 65534_u16..=u16::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `0_u16` not covered
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `0_u16` not covered
   = note: the matched value is of type `u16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 0_u16 => todo!() }

error[E0004]: non-exhaustive patterns: `u16::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:55:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u16::MAX` not covered
   = note: the matched value is of type `u16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u16::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `43_u16` not covered
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u16` not covered
   = note: the matched value is of type `u16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u16 => todo!() }


error[E0004]: non-exhaustive patterns: `43_u16` not covered
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u16` not covered
   = note: the matched value is of type `u16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u16 => todo!() }

error[E0004]: non-exhaustive patterns: `u32::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:65:12
   |
   |
LL |         m!(0, ..u32::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u32::MAX` not covered
   = note: the matched value is of type `u32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u32::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `4294967294_u32..=u32::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `4294967294_u32..=u32::MAX` not covered
   = note: the matched value is of type `u32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 4294967294_u32..=u32::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `0_u32` not covered
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `0_u32` not covered
   = note: the matched value is of type `u32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 0_u32 => todo!() }

error[E0004]: non-exhaustive patterns: `u32::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:68:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u32::MAX` not covered
   = note: the matched value is of type `u32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u32::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `43_u32` not covered
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u32` not covered
   = note: the matched value is of type `u32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u32 => todo!() }


error[E0004]: non-exhaustive patterns: `43_u32` not covered
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u32` not covered
   = note: the matched value is of type `u32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u32 => todo!() }

error[E0004]: non-exhaustive patterns: `u64::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:78:12
   |
   |
LL |         m!(0, ..u64::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u64::MAX` not covered
   = note: the matched value is of type `u64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u64::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `18446744073709551614_u64..=u64::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `18446744073709551614_u64..=u64::MAX` not covered
   = note: the matched value is of type `u64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 18446744073709551614_u64..=u64::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `0_u64` not covered
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `0_u64` not covered
   = note: the matched value is of type `u64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 0_u64 => todo!() }

error[E0004]: non-exhaustive patterns: `u64::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:81:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u64::MAX` not covered
   = note: the matched value is of type `u64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u64::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `43_u64` not covered
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u64` not covered
   = note: the matched value is of type `u64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u64 => todo!() }


error[E0004]: non-exhaustive patterns: `43_u64` not covered
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_u64` not covered
   = note: the matched value is of type `u64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_u64 => todo!() }

error[E0004]: non-exhaustive patterns: `u128::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:91:12
   |
   |
LL |         m!(0, ..u128::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `u128::MAX` not covered
   = note: the matched value is of type `u128`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, u128::MAX => todo!() }


thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
---
   7: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::pretty::PrettyPrinter>::pretty_print_const_scalar_int
   8: rustc_middle::mir::pretty::pretty_print_const_value_tcx
   9: rustc_middle::mir::pretty::pretty_print_const_value
  10: core::fmt::write
  11: <rustc_middle::thir::PatRange as core::fmt::Display>::fmt
  12: <rustc_pattern_analysis::rustc::RustcPatCtxt>::print_pat_range
  13: <rustc_pattern_analysis::rustc::RustcPatCtxt>::print_witness_pat
  14: rustc_mir_build::thir::pattern::check_match::report_non_exhaustive_match
  15: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  16: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  17: rustc_middle::thir::visit::walk_expr::<rustc_mir_build::thir::pattern::check_match::MatchVisitor>
  18: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  19: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  20: rustc_mir_build::thir::pattern::check_match::check_match
      [... omitted 3 frames ...]
  21: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  23: rustc_mir_transform::mir_built
  23: rustc_mir_transform::mir_built
      [... omitted 3 frames ...]
  24: rustc_mir_build::check_unsafety::check_unsafety
      [... omitted 3 frames ...]
  25: <rustc_middle::hir::map::Map>::par_body_owners::<rustc_interface::passes::run_required_analyses::{closure#2}::{closure#0}>::{closure#0}
  26: <rustc_session::session::Session>::time::<(), rustc_interface::passes::run_required_analyses::{closure#2}>
  27: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  28: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  29: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  30: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  31: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  33: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  34: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [check_match] match-checking `unsigned::u128`
#0 [check_match] match-checking `unsigned::u128`
#1 [mir_built] building MIR for `unsigned::u128`
#2 [check_unsafety] unsafety-checking `unsigned::u128`
end of query stack
error[E0004]: non-exhaustive patterns: `i8::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:107:12
   |
   |
LL |         m!(0, ..i8::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i8::MAX` not covered
   = note: the matched value is of type `i8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i8::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `126_i8..=i8::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `126_i8..=i8::MAX` not covered
   = note: the matched value is of type `i8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 126_i8..=i8::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `i8::MIN` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:109:12
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i8::MIN` not covered
   = note: the matched value is of type `i8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i8::MIN => todo!() }

error[E0004]: non-exhaustive patterns: `i8::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:110:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i8::MAX` not covered
   = note: the matched value is of type `i8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i8::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `43_i8` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:111:12
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i8` not covered
   = note: the matched value is of type `i8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i8 => todo!() }

error[E0004]: non-exhaustive patterns: `43_i8` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:112:12
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i8` not covered
   = note: the matched value is of type `i8`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i8 => todo!() }

error[E0004]: non-exhaustive patterns: `i16::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:120:12
   |
   |
LL |         m!(0, ..i16::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i16::MAX` not covered
   = note: the matched value is of type `i16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i16::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `32766_i16..=i16::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `32766_i16..=i16::MAX` not covered
   = note: the matched value is of type `i16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 32766_i16..=i16::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `i16::MIN` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:122:12
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i16::MIN` not covered
   = note: the matched value is of type `i16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i16::MIN => todo!() }

error[E0004]: non-exhaustive patterns: `i16::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:123:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i16::MAX` not covered
   = note: the matched value is of type `i16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i16::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `43_i16` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:124:12
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i16` not covered
   = note: the matched value is of type `i16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i16 => todo!() }

error[E0004]: non-exhaustive patterns: `43_i16` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:125:12
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i16` not covered
   = note: the matched value is of type `i16`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i16 => todo!() }

error[E0004]: non-exhaustive patterns: `i32::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:133:12
   |
   |
LL |         m!(0, ..i32::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i32::MAX` not covered
   = note: the matched value is of type `i32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i32::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `2147483646_i32..=i32::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `2147483646_i32..=i32::MAX` not covered
   = note: the matched value is of type `i32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 2147483646_i32..=i32::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `i32::MIN` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:135:12
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i32::MIN` not covered
   = note: the matched value is of type `i32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i32::MIN => todo!() }

error[E0004]: non-exhaustive patterns: `i32::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:136:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i32::MAX` not covered
   = note: the matched value is of type `i32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i32::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `43_i32` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:137:12
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i32` not covered
   = note: the matched value is of type `i32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i32 => todo!() }

error[E0004]: non-exhaustive patterns: `43_i32` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:138:12
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i32` not covered
   = note: the matched value is of type `i32`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i32 => todo!() }

error[E0004]: non-exhaustive patterns: `i64::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:146:12
   |
   |
LL |         m!(0, ..i64::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i64::MAX` not covered
   = note: the matched value is of type `i64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i64::MAX => todo!() }


error[E0004]: non-exhaustive patterns: `9223372036854775806_i64..=i64::MAX` not covered
   |
   |
LL |         m!(0, ..ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `9223372036854775806_i64..=i64::MAX` not covered
   = note: the matched value is of type `i64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 9223372036854775806_i64..=i64::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `i64::MIN` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:148:12
   |
   |
LL |         m!(0, ALMOST_MIN..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i64::MIN` not covered
   = note: the matched value is of type `i64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i64::MIN => todo!() }

error[E0004]: non-exhaustive patterns: `i64::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:149:12
   |
   |
LL |         m!(0, ..=ALMOST_MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i64::MAX` not covered
   = note: the matched value is of type `i64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i64::MAX => todo!() }

error[E0004]: non-exhaustive patterns: `43_i64` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:150:12
   |
   |
LL |         m!(0, ..=VAL | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i64` not covered
   = note: the matched value is of type `i64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i64 => todo!() }

error[E0004]: non-exhaustive patterns: `43_i64` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:151:12
   |
   |
LL |         m!(0, ..VAL_1 | VAL_2..); //~ ERROR non-exhaustive patterns
   |            ^ pattern `43_i64` not covered
   = note: the matched value is of type `i64`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, 43_i64 => todo!() }

error[E0004]: non-exhaustive patterns: `i128::MAX` not covered
##[error]  --> /checkout/tests/ui/half-open-range-patterns/half-open-range-pats-exhaustive-fail.rs:159:12
   |
   |
LL |         m!(0, ..i128::MAX); //~ ERROR non-exhaustive patterns
   |            ^ pattern `i128::MAX` not covered
   = note: the matched value is of type `i128`
help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
   |
   |
LL |         match $s { $($t)+ => {}, i128::MAX => todo!() }


thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
---
   7: <rustc_middle::ty::print::pretty::FmtPrinter as rustc_middle::ty::print::pretty::PrettyPrinter>::pretty_print_const_scalar_int
   8: rustc_middle::mir::pretty::pretty_print_const_value_tcx
   9: rustc_middle::mir::pretty::pretty_print_const_value
  10: core::fmt::write
  11: <rustc_middle::thir::PatRange as core::fmt::Display>::fmt
  12: <rustc_pattern_analysis::rustc::RustcPatCtxt>::print_pat_range
  13: <rustc_pattern_analysis::rustc::RustcPatCtxt>::print_witness_pat
  14: rustc_mir_build::thir::pattern::check_match::report_non_exhaustive_match
  15: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  16: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  17: rustc_middle::thir::visit::walk_expr::<rustc_mir_build::thir::pattern::check_match::MatchVisitor>
  18: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  19: <rustc_mir_build::thir::pattern::check_match::MatchVisitor as rustc_middle::thir::visit::Visitor>::visit_expr
  20: rustc_mir_build::thir::pattern::check_match::check_match
      [... omitted 3 frames ...]
  21: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  23: rustc_mir_transform::mir_built
  23: rustc_mir_transform::mir_built
      [... omitted 3 frames ...]
  24: rustc_mir_build::check_unsafety::check_unsafety
      [... omitted 3 frames ...]
  25: <rustc_middle::hir::map::Map>::par_body_owners::<rustc_interface::passes::run_required_analyses::{closure#2}::{closure#0}>::{closure#0}
  26: <rustc_session::session::Session>::time::<(), rustc_interface::passes::run_required_analyses::{closure#2}>
  27: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  28: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  29: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  30: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  31: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  33: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  34: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
query stack during panic:
#0 [check_match] match-checking `signed::i128`
#1 [mir_built] building MIR for `signed::i128`
#2 [check_unsafety] unsafety-checking `signed::i128`
end of query stack
error: aborting due to 58 previous errors

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


---- [ui] tests/ui/lexer/error-stage.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
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/lexer/error-stage.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(test,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/lexer/error-stage" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
error: binary float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/error-stage.rs:56:5
   |
   |
LL |     0b10.0f32; //~ ERROR binary float literal is not supported

error: binary float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/error-stage.rs:68:5
   |
   |
LL |     0b10.0f32; //~ ERROR binary float literal is not supported

error: binary float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/error-stage.rs:78:5
   |
   |
LL |     0b10.0f32; //~ ERROR binary float literal is not supported

error: suffixes on string literals are invalid
##[error]  --> /checkout/tests/ui/lexer/error-stage.rs:74:5
   |
   |
LL |     "string"any_suffix; //~ ERROR suffixes on string literals are invalid
   |     ^^^^^^^^^^^^^^^^^^ invalid suffix `any_suffix`

error: invalid width `123` for integer literal
   |
   |
LL |     10u123; //~ ERROR invalid width `123` for integer literal
   |
   |
   = help: valid widths are 8, 16, 32, 64 and 128

error: invalid width `123` for float literal
   |
   |
LL |     10.0f123; //~ ERROR invalid width `123` for float literal
   |
   = help: valid widths are 32 and 64

error: binary float literal is not supported
error: binary float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/error-stage.rs:77:5
   |
LL |     0b10f32; //~ ERROR binary float literal is not supported


thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
---
   9: <rustc_ast_lowering::LoweringContext>::lower_stmts
  10: <rustc_ast_lowering::LoweringContext>::lower_block_expr
  11: <rustc_ast_lowering::LoweringContext>::lower_maybe_coroutine_body
  12: <rustc_ast_lowering::LoweringContext>::lower_item_kind
  13: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>::{closure#0}>
  14: <rustc_ast_lowering::item::ItemLowerer>::with_lctx::<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>
  15: <rustc_ast_lowering::item::ItemLowerer>::lower_node
  16: rustc_ast_lowering::lower_to_hir
      [... omitted 3 frames ...]
  17: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
      [... omitted 3 frames ...]
  18: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  19: <rustc_middle::hir::map::Map>::get_module
  20: rustc_middle::hir::map::hir_crate_items
      [... omitted 3 frames ...]
  21: rustc_passes::hir_id_validator::check_crate
  22: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  23: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  24: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  25: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  26: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  28: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  29: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
end of query stack
error: aborting due to 7 previous errors
------------------------------------------



---- [ui] tests/ui/lexer/lex-bad-numeric-literals.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
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/lexer/lex-bad-numeric-literals.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(test,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/lexer/lex-bad-numeric-literals" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:4:5
   |
   |
LL |     0o1.0; //~ ERROR: octal float literal is not supported

error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:6:5
   |
   |
LL |     0o3.0f32; //~ ERROR: octal float literal is not supported

error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:7:5
   |
   |
LL |     0o4e4; //~ ERROR: octal float literal is not supported

error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:8:5
   |
   |
LL |     0o5.0e5; //~ ERROR: octal float literal is not supported

error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:9:5
   |
   |
LL |     0o6e6f32; //~ ERROR: octal float literal is not supported

error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:10:5
   |
   |
LL |     0o7.0e7f64; //~ ERROR: octal float literal is not supported

error: hexadecimal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:11:5
   |
   |
LL |     0x8.0e+9; //~ ERROR: hexadecimal float literal is not supported

error: hexadecimal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:12:5
   |
   |
LL |     0x9.0e-9; //~ ERROR: hexadecimal float literal is not supported

error[E0768]: no valid digits found for number
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:13:5
   |
   |
LL |     0o; //~ ERROR: no valid digits

error: expected at least one digit in exponent
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:14:5
   |
   |
LL |     1e+; //~ ERROR: expected at least one digit in exponent

error: hexadecimal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:15:5
   |
   |
LL |     0x539.0; //~ ERROR: hexadecimal float literal is not supported

error[E0768]: no valid digits found for number
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:26:5
   |
   |
LL |     0x; //~ ERROR: no valid digits

error[E0768]: no valid digits found for number
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:27:5
   |
   |
LL |     0xu32; //~ ERROR: no valid digits

error[E0768]: no valid digits found for number
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:28:5
   |
   |
LL |     0ou32; //~ ERROR: no valid digits

error[E0768]: no valid digits found for number
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:29:5
   |
   |
LL |     0bu32; //~ ERROR: no valid digits

error[E0768]: no valid digits found for number
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:30:5
   |
   |
LL |     0b; //~ ERROR: no valid digits

error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:32:5
   |
   |
LL |     0o123.456; //~ ERROR: octal float literal is not supported

error: binary float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:34:5
   |
   |
LL |     0b111.101; //~ ERROR: binary float literal is not supported

error: octal float literal is not supported
##[error]  --> /checkout/tests/ui/lexer/lex-bad-numeric-literals.rs:5:5
   |
   |
LL |     0o2f32; //~ ERROR: octal float literal is not supported


thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
---
   9: <rustc_ast_lowering::LoweringContext>::lower_stmts
  10: <rustc_ast_lowering::LoweringContext>::lower_block_expr
  11: <rustc_ast_lowering::LoweringContext>::lower_maybe_coroutine_body
  12: <rustc_ast_lowering::LoweringContext>::lower_item_kind
  13: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>::{closure#0}>
  14: <rustc_ast_lowering::item::ItemLowerer>::with_lctx::<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>
  15: <rustc_ast_lowering::item::ItemLowerer>::lower_node
  16: rustc_ast_lowering::lower_to_hir
      [... omitted 3 frames ...]
  17: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
      [... omitted 3 frames ...]
  18: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  19: <rustc_middle::hir::map::Map>::get_module
  20: rustc_middle::hir::map::hir_crate_items
      [... omitted 3 frames ...]
  21: rustc_passes::hir_id_validator::check_crate
  22: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  23: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  24: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  25: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  26: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  28: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  29: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
end of query stack
error: aborting due to 19 previous errors

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


---- [ui] tests/ui/lint/type-overflow.rs stdout ----

error: test compilation failed although it shouldn't!
status: exit status: 101
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/lint/type-overflow.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(test,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/lint/type-overflow" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
warning: literal out of range for `i8`
##[warning]  --> /checkout/tests/ui/lint/type-overflow.rs:5:17
   |
   |
LL |     let error = 255i8; //~WARNING literal out of range for `i8`
   |                 ^^^^^
   |
   = note: the literal `255i8` does not fit into the type `i8` whose range is `-128..=127`
note: the lint level is defined here
  --> /checkout/tests/ui/lint/type-overflow.rs:2:9
   |
LL | #![warn(overflowing_literals)]
LL | #![warn(overflowing_literals)]
   |         ^^^^^^^^^^^^^^^^^^^^

warning: literal out of range for `i8`
##[warning]  --> /checkout/tests/ui/lint/type-overflow.rs:11:16
   |
LL |     let fail = 0b1000_0001i8; //~WARNING literal out of range for `i8`
   |
   |
   = note: the literal `0b1000_0001i8` (decimal `129`) does not fit into the type `i8` and will become `-127i8`
   |
   |
LL |     let fail = 0b1000_0001u8; //~WARNING literal out of range for `i8`
   |                ~~~~~~~~~~~~~
help: to use as a negative number (decimal `-127`), consider using the type `u8` for the literal and cast it to `i8`
   |
LL |     let fail = 0b1000_0001u8 as i8; //~WARNING literal out of range for `i8`

warning: literal out of range for `i64`
##[warning]  --> /checkout/tests/ui/lint/type-overflow.rs:15:16
   |
   |
LL |     let fail = 0x8000_0000_0000_0000i64; //~WARNING literal out of range for `i64`
   |
   |
   = note: the literal `0x8000_0000_0000_0000i64` (decimal `9223372036854775808`) does not fit into the type `i64` and will become `-9223372036854775808i64`
   |
   |
LL |     let fail = 0x8000_0000_0000_0000u64; //~WARNING literal out of range for `i64`
   |                ~~~~~~~~~~~~~~~~~~~~~~~~
help: to use as a negative number (decimal `-9223372036854775808`), consider using the type `u64` for the literal and cast it to `i64`
   |
LL |     let fail = 0x8000_0000_0000_0000u64 as i64; //~WARNING literal out of range for `i64`

warning: literal out of range for `u32`
##[warning]  --> /checkout/tests/ui/lint/type-overflow.rs:19:16
   |
   |
LL |     let fail = 0x1_FFFF_FFFFu32; //~WARNING literal out of range for `u32`
   |                ^^^^^^^^^^^^^^^^ help: consider using the type `u64` instead: `0x1_FFFF_FFFFu64`
   |
   = note: the literal `0x1_FFFF_FFFFu32` (decimal `8589934591`) does not fit into the type `u32` and will become `4294967295u32`

thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
stack backtrace:
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: core::fmt::num::fmt_u128
   4: rustc_lint::types::literal::report_bin_hex_error
   5: rustc_lint::types::literal::lint_literal
   6: <rustc_lint::BuiltinCombinedModuleLateLintPass as rustc_lint::passes::LateLintPass>::check_expr
   7: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
   8: rustc_hir::intravisit::walk_local::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
   9: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_local
  10: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_stmt
  11: rustc_hir::intravisit::walk_expr::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  12: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
  13: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_body
  14: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_fn
  15: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  16: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
  17: rustc_hir::intravisit::walk_mod::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  18: rustc_lint::lint_mod
      [... omitted 3 frames ...]
  19: <rustc_middle::hir::map::Map>::par_for_each_module::<rustc_lint::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}
  20: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures::sync::parallel::par_for_each_in<&rustc_hir::hir_id::OwnerId, &[rustc_hir::hir_id::OwnerId], <rustc_middle::hir::map::Map>::par_for_each_module<rustc_lint::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>
  22: rustc_data_structures::sync::parallel::serial_join::<rustc_lint::late::check_crate::{closure#0}, rustc_lint::late::check_crate::{closure#1}, (), ()>
  23: rustc_lint::late::check_crate
  24: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}>
  25: rustc_interface::passes::analysis
  25: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  26: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  27: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  28: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  29: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  31: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  32: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
query stack during panic:
#0 [lint_mod] linting top-level module
end of query stack
warning: 4 warnings emitted
------------------------------------------



---- [ui] tests/ui/macros/issue-104769-concat_bytes-invalid-literal.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
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/macros/issue-104769-concat_bytes-invalid-literal.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(test,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/macros/issue-104769-concat_bytes-invalid-literal" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------
error: invalid suffix `Y` for number literal
##[error]  --> /checkout/tests/ui/macros/issue-104769-concat_bytes-invalid-literal.rs:4:19
   |
   |
LL |     concat_bytes!(7Y);
   |                   ^^ invalid suffix `Y`
   |
   = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.)

thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
stack backtrace:
---
   5: alloc::fmt::format::format_inner
   6: rustc_session::errors::report_lit_error
   7: rustc_builtin_macros::concat_bytes::invalid_type_err
   8: rustc_builtin_macros::concat_bytes::expand_concat_bytes
   9: <for<'a, 'b> fn(&'a mut rustc_expand::base::ExtCtxt<'b>, rustc_span::span_encoding::Span, rustc_ast::tokenstream::TokenStream) -> rustc_expand::base::ExpandResult<alloc::boxed::Box<dyn rustc_expand::base::MacResult + 'a>, ()> as rustc_expand::base::TTMacroExpander>::expand
  10: <rustc_expand::expand::MacroExpander>::fully_expand_fragment
  11: <rustc_expand::expand::MacroExpander>::expand_crate
  13: rustc_interface::passes::resolver_for_lowering_raw
  13: rustc_interface::passes::resolver_for_lowering_raw
      [... omitted 3 frames ...]
  14: <rustc_middle::ty::context::TyCtxt>::resolver_for_lowering
  15: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  16: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  17: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  18: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  20: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  21: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
#0 [resolver_for_lowering_raw] getting the resolver for lowering
end of query stack
error: aborting due to 1 previous error
error: aborting due to 1 previous error
------------------------------------------


---- [ui] tests/ui/numbers-arithmetic/i128.rs stdout ----

error: test compilation failed although it shouldn't!
status: exit status: 101
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/numbers-arithmetic/i128.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(test,FALSE)" "-O" "--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" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/numbers-arithmetic/i128/a" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------

thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
assertion failed: n < 10
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: core::fmt::num::fmt_u128
   4: rustc_lint::types::literal::report_bin_hex_error
   5: rustc_lint::types::literal::lint_literal
   6: <rustc_lint::BuiltinCombinedModuleLateLintPass as rustc_lint::passes::LateLintPass>::check_expr
   7: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
   8: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
   9: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
  10: rustc_hir::intravisit::walk_expr::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  11: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
  12: rustc_hir::intravisit::walk_expr::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  13: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
  14: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_stmt
  15: rustc_hir::intravisit::walk_expr::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  16: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_expr::{closure#0}
  17: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_body
  18: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_fn
  19: rustc_hir::intravisit::walk_item::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  20: <rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass> as rustc_hir::intravisit::Visitor>::visit_nested_item
  21: rustc_hir::intravisit::walk_mod::<rustc_lint::late::LateContextAndPass<rustc_lint::BuiltinCombinedModuleLateLintPass>>
  22: rustc_lint::lint_mod
      [... omitted 3 frames ...]
  23: <rustc_middle::hir::map::Map>::par_for_each_module::<rustc_lint::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}
  24: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures::sync::parallel::par_for_each_in<&rustc_hir::hir_id::OwnerId, &[rustc_hir::hir_id::OwnerId], <rustc_middle::hir::map::Map>::par_for_each_module<rustc_lint::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}>::{closure#0}::{closure#1}::{closure#0}>
  26: rustc_data_structures::sync::parallel::serial_join::<rustc_lint::late::check_crate::{closure#0}, rustc_lint::late::check_crate::{closure#1}, (), ()>
  27: rustc_lint::late::check_crate
  28: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}>
  29: rustc_interface::passes::analysis
  29: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  30: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  31: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  32: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  33: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  35: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  36: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
query stack during panic:
#0 [lint_mod] linting top-level module
end of query stack
------------------------------------------



---- [ui] tests/ui/numbers-arithmetic/u128.rs stdout ----

error: test run failed!
status: exit status: 101
command: cd "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/numbers-arithmetic/u128" && RUSTC="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUST_TEST_THREADS="16" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/numbers-arithmetic/u128/a"
--- stderr -------------------------------

thread 'main' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
assertion failed: n < 10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
------------------------------------------


---- [ui] tests/ui/parser/int-literal-too-large-span.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
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/parser/int-literal-too-large-span.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(test,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/parser/int-literal-too-large-span" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------

thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
---
   9: <rustc_ast_lowering::LoweringContext>::lower_stmts
  10: <rustc_ast_lowering::LoweringContext>::lower_block_expr
  11: <rustc_ast_lowering::LoweringContext>::lower_maybe_coroutine_body
  12: <rustc_ast_lowering::LoweringContext>::lower_item_kind
  13: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>::{closure#0}>
  14: <rustc_ast_lowering::item::ItemLowerer>::with_lctx::<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>
  15: <rustc_ast_lowering::item::ItemLowerer>::lower_node
  16: rustc_ast_lowering::lower_to_hir
      [... omitted 3 frames ...]
  17: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
      [... omitted 3 frames ...]
  18: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  19: <rustc_middle::hir::map::Map>::get_module
  20: rustc_middle::hir::map::hir_crate_items
      [... omitted 3 frames ...]
  21: rustc_passes::hir_id_validator::check_crate
  22: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  23: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  24: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  25: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  26: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  28: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  29: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
end of query stack
------------------------------------------



---- [ui] tests/ui/parser/issues/issue-5544-a.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit status: 101
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/parser/issues/issue-5544-a.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(test,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/parser/issues/issue-5544-a" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers"
--- stderr -------------------------------

thread 'rustc' panicked at library/core/src/fmt/num.rs:606:13:
assertion failed: n < 10
---
   9: <rustc_ast_lowering::LoweringContext>::lower_stmts
  10: <rustc_ast_lowering::LoweringContext>::lower_block_expr
  11: <rustc_ast_lowering::LoweringContext>::lower_maybe_coroutine_body
  12: <rustc_ast_lowering::LoweringContext>::lower_item_kind
  13: <rustc_ast_lowering::LoweringContext>::with_hir_id_owner::<<rustc_ast_lowering::item::ItemLowerer>::with_lctx<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>::{closure#0}>
  14: <rustc_ast_lowering::item::ItemLowerer>::with_lctx::<<rustc_ast_lowering::item::ItemLowerer>::lower_item::{closure#0}>
  15: <rustc_ast_lowering::item::ItemLowerer>::lower_node
  16: rustc_ast_lowering::lower_to_hir
      [... omitted 3 frames ...]
  17: <rustc_middle::hir::provide::{closure#1} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
      [... omitted 3 frames ...]
  18: rustc_middle::query::plumbing::query_get_at::<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex>>
  19: <rustc_middle::hir::map::Map>::get_module
  20: rustc_middle::hir::map::hir_crate_items
      [... omitted 3 frames ...]
  21: rustc_passes::hir_id_validator::check_crate
  22: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  23: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<<rustc_middle::ty::context::GlobalCtxt>::enter<rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>::{closure#1}, core::option::Option<rustc_interface::queries::Linker>>::{closure#0}, core::option::Option<rustc_interface::queries::Linker>>
  24: <rustc_middle::ty::context::TyCtxt>::create_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}>
  25: <rustc_interface::passes::create_and_enter_global_ctxt<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
  26: <alloc::boxed::Box<dyn for<'a> core::ops::function::FnOnce<(&'a rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &'a std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena<'a>>, &'a rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena<'a>>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}), Output = core::option::Option<rustc_interface::queries::Linker>>> as core::ops::function::FnOnce<(&rustc_session::session::Session, rustc_middle::ty::context::CurrentGcx, &std::sync::once_lock::OnceLock<rustc_middle::ty::context::GlobalCtxt>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_middle::arena::Arena>, &rustc_data_structures::sync::worker_local::WorkerLocal<rustc_hir::Arena>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2})>>::call_once
  28: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}, ()>
  29: rustc_span::create_session_globals_then::<(), rustc_interface::util::run_in_thread_with_globals<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}::{closure#0}>
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

---
note: please make sure that you have updated to the latest nightly

note: rustc 1.86.0-nightly (3bb4ead70 2025-02-05) running on x86_64-unknown-linux-gnu

note: compiler flags: -Z threads=1 -Z simulate-remapped-rust-src-base=/rustc/FAKE_PREFIX -Z translate-remapped-path-to-local-path=no -Z ignore-directory-in-diagnostics-source-blocks=/cargo -Z ignore-directory-in-diagnostics-source-blocks=/checkout/vendor -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -Z write-long-types-to-disk=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0
query stack during panic:
query stack during panic:
#0 [hir_crate] getting the crate HIR
#1 [opt_hir_owner_nodes] getting HIR owner items in ``
#2 [hir_crate_items] getting HIR crate items
end of query stack
------------------------------------------


@pascaldekloe
Copy link
Contributor Author

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Insufficient permissions to issue commands to rust-timer.

@bors
Copy link
Contributor

bors commented Feb 5, 2025

@pascaldekloe: 🔑 Insufficient privileges: not in try users

@tgross35
Copy link
Contributor

tgross35 commented Feb 5, 2025

Do you have a link to the asm diff?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants