rust icon indicating copy to clipboard operation
rust copied to clipboard

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

Open pascaldekloe opened this issue 10 months ago • 14 comments

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

pascaldekloe avatar Feb 05 '25 17:02 pascaldekloe

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
------------------------------------------


rust-log-analyzer avatar Feb 05 '25 18:02 rust-log-analyzer

@bors try @rust-timer queue

pascaldekloe avatar Feb 05 '25 18:02 pascaldekloe

Insufficient permissions to issue commands to rust-timer.

rust-timer avatar Feb 05 '25 18:02 rust-timer

@pascaldekloe: :key: Insufficient privileges: not in try users

bors avatar Feb 05 '25 18:02 bors

Do you have a link to the asm diff?

tgross35 avatar Feb 05 '25 19:02 tgross35

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

bors avatar Feb 06 '25 07:02 bors

Do you have a link to the asm diff?

https://rust.godbolt.org/z/6Pq3hKT8d

pascaldekloe avatar Feb 06 '25 12:02 pascaldekloe

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.2s done
#22 DONE 34.2s
##[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 (be494773a 2025-02-06) 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 (be494773a 2025-02-06) 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_hir::hir_id::OwnerId, 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 (be494773a 2025-02-06) 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_hir::hir_id::OwnerId, 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 (be494773a 2025-02-06) 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::late::late_lint_mod::<rustc_lint::BuiltinCombinedModuleLateLintPass>
  19: rustc_lint::lint_mod
      [... omitted 3 frames ...]
  20: <rustc_middle::hir::map::Map>::par_for_each_module::<rustc_lint::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}
  22: rustc_lint::late::check_crate
  23: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}>
  24: rustc_interface::passes::analysis
  24: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  25: <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>>
  26: <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}>
  27: <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}
  28: <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
  30: <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}, ()>
  31: 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 (be494773a 2025-02-06) 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:
---
   9: <rustc_expand::expand::MacroExpander>::fully_expand_fragment
  10: <rustc_expand::expand::MacroExpander>::expand_crate
  11: <rustc_session::session::Session>::time::<rustc_ast::ast::Crate, rustc_interface::passes::configure_and_expand::{closure#1}>
  12: rustc_interface::passes::resolver_for_lowering_raw
      [... omitted 3 frames ...]
  13: <rustc_middle::ty::context::TyCtxt>::resolver_for_lowering
  14: <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>>
  15: <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}>
  16: <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}
  17: <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
  19: <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}, ()>
  20: 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 (be494773a 2025-02-06) 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::late::late_lint_mod::<rustc_lint::BuiltinCombinedModuleLateLintPass>
  23: rustc_lint::lint_mod
      [... omitted 3 frames ...]
  24: <rustc_middle::hir::map::Map>::par_for_each_module::<rustc_lint::late::check_crate::{closure#1}::{closure#0}::{closure#0}>::{closure#0}
  26: rustc_lint::late::check_crate
  27: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#0}>
  28: rustc_interface::passes::analysis
  28: rustc_interface::passes::analysis
      [... omitted 3 frames ...]
  29: <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>>
  30: <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}>
  31: <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}
  32: <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
  34: <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}, ()>
  35: 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 (be494773a 2025-02-06) 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_hir::hir_id::OwnerId, 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 (be494773a 2025-02-06) 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_hir::hir_id::OwnerId, 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 (be494773a 2025-02-06) 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
------------------------------------------


rust-log-analyzer avatar Feb 06 '25 13:02 rust-log-analyzer

I don't have any concerns here but the tests need to be fixed of course :)

@rustbot author

tgross35 avatar Apr 26 '25 23:04 tgross35

Reminder, once the PR becomes ready for a review, use @rustbot ready.

rustbot avatar Apr 26 '25 23:04 rustbot

The job mingw-check failed! Check out the build log: (web) (plain)

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

rust-log-analyzer avatar Apr 28 '25 14:04 rust-log-analyzer

@rustbot ready

pascaldekloe avatar Apr 30 '25 13:04 pascaldekloe

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

bors avatar Jun 07 '25 03:06 bors

@bors try @rust-timer queue

tgross35 avatar Jun 10 '25 17:06 tgross35

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

rust-timer avatar Jun 10 '25 17:06 rust-timer

:hourglass: Trying commit 0483c93ceb0f0f4a835fbae589a5b714dbabf2bc with merge f791aa5b7459654ec84452793d1bea1ddf0e6b32...

bors avatar Jun 10 '25 17:06 bors

No problem @tgross35. This is no priority patch. Happy with these feedback loops. Getting to learn the language. Local benchmark will follow in an hour or so...

pascaldekloe avatar Jun 10 '25 18:06 pascaldekloe

:sunny: Try build successful - checks-actions Build commit: f791aa5b7459654ec84452793d1bea1ddf0e6b32 (f791aa5b7459654ec84452793d1bea1ddf0e6b32)

bors avatar Jun 10 '25 20:06 bors

Queued f791aa5b7459654ec84452793d1bea1ddf0e6b32 with parent c6a955468b025dbe3d1de3e8f3e30496d1fb7f40, future comparison URL. There is currently 1 preceding artifact in the queue. It will probably take at least ~2.0 hours until the benchmark run finishes.

rust-timer avatar Jun 10 '25 20:06 rust-timer

Finished benchmarking commit (f791aa5b7459654ec84452793d1bea1ddf0e6b32): comparison URL.

Overall result: ✅ improvements - no action needed

Benchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf.

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

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.4% [-0.4%, -0.4%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 0.8%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
8.5% [8.5%, 8.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-1.8% [-2.9%, -1.0%] 3
All ❌✅ (primary) - - 0

Cycles

Results (secondary 2.7%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.7% [2.7%, 2.7%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary -0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.0% [-0.0%, -0.0%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.0% [-0.0%, -0.0%] 1

Bootstrap: 754.321s -> 755.157s (0.11%) Artifact size: 372.15 MiB -> 372.14 MiB (-0.00%)

rust-timer avatar Jun 10 '25 22:06 rust-timer

One final comment request https://github.com/rust-lang/rust/pull/136594#discussion_r2138998643 and it would be good if you could post benchmarks and/or an asm diff. After that, r=me

tgross35 avatar Jun 11 '25 01:06 tgross35

The following was measured locally on Apple M1 @tgross35.

Master

    fmt::write_u128_max                                                   51.44ns/iter      +/- 0.44
    fmt::write_u128_min                                                   30.63ns/iter      +/- 0.92
    fmt::write_u64_max                                                    36.00ns/iter      +/- 0.55
    fmt::write_u64_min                                                    27.72ns/iter      +/- 0.20
    fmt::write_u8_max                                                     28.98ns/iter      +/- 0.34
    fmt::write_u8_min                                                     27.72ns/iter      +/- 0.38

Change

    fmt::write_u128_max                                                   46.65ns/iter     +/- 0.39
    fmt::write_u128_min                                                   26.77ns/iter     +/- 0.58
    fmt::write_u64_max                                                    35.68ns/iter     +/- 0.39
    fmt::write_u64_min                                                    27.72ns/iter     +/- 0.75
    fmt::write_u8_max                                                     28.71ns/iter     +/- 0.08
    fmt::write_u8_min                                                     27.39ns/iter     +/- 0.32

pascaldekloe avatar Jun 11 '25 12:06 pascaldekloe

Thank you for all the work here!

@bors r+

tgross35 avatar Jun 11 '25 18:06 tgross35

:pushpin: Commit 042a27174261988cd7e77490aaf450c91da3214e has been approved by tgross35

It is now in the queue for this repository.

bors avatar Jun 11 '25 18:06 bors

:hourglass: Testing commit 042a27174261988cd7e77490aaf450c91da3214e with merge 14346303d760027e53214e705109a62c0f00b214...

bors avatar Jun 12 '25 01:06 bors

:sunny: Test successful - checks-actions Approved by: tgross35 Pushing 14346303d760027e53214e705109a62c0f00b214 to master...

bors avatar Jun 12 '25 04:06 bors

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 31d0d2123d36de10c2611b842299cce5f447ddf7 (parent) -> 14346303d760027e53214e705109a62c0f00b214 (this PR)

Test differences

Show 5 test diffs

Stage 1

  • fmt::num::test_format_int: pass -> [missing] (J0)
  • fmt::num::test_format_int_limits: [missing] -> pass (J0)
  • fmt::num::test_format_int_misc: [missing] -> pass (J0)
  • fmt::num::test_format_int_one: [missing] -> pass (J0)
  • fmt::num::test_format_int_twos_complement: pass -> [missing] (J0)

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 14346303d760027e53214e705109a62c0f00b214 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-apple-1: 7215.7s -> 9403.1s (30.3%)
  2. dist-x86_64-apple: 8674.0s -> 10174.7s (17.3%)
  3. mingw-check-1: 1656.4s -> 1911.2s (15.4%)
  4. aarch64-apple: 5855.4s -> 5214.8s (-10.9%)
  5. i686-gnu-1: 7603.4s -> 8357.3s (9.9%)
  6. x86_64-gnu-llvm-20-1: 3304.6s -> 3627.0s (9.8%)
  7. i686-gnu-2: 5685.3s -> 6230.8s (9.6%)
  8. armhf-gnu: 4535.6s -> 4966.5s (9.5%)
  9. x86_64-rust-for-linux: 2648.9s -> 2853.9s (7.7%)
  10. x86_64-gnu-debug: 5580.8s -> 5992.3s (7.4%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance that executed the job, system noise, invalidated caches, etc. The table above is provided mostly for t-infra members, for simpler debugging of potential CI slow-downs.

github-actions[bot] avatar Jun 12 '25 04:06 github-actions[bot]

Finished benchmarking commit (14346303d760027e53214e705109a62c0f00b214): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.2% [0.1%, 0.3%] 2
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 1.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.5% [1.5%, 1.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Cycles

Results (secondary 6.6%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
6.6% [6.6%, 6.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

Results (primary -0.0%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.0% [-0.0%, -0.0%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.0% [-0.0%, -0.0%] 1

Bootstrap: 754.746s -> 755.927s (0.16%) Artifact size: 372.10 MiB -> 372.13 MiB (0.01%)

rust-timer avatar Jun 12 '25 12:06 rust-timer