Skip to content

could not compile icu_locid_transform (lib) #117479

@lz1998

Description

@lz1998

Code

https://github.com/unicode-org/icu4x/tree/main/components/locid_transform

Meta

rustc --version --verbose:

rustc 1.75.0-nightly (9d83ac217 2023-10-31)
binary: rustc
commit-hash: 9d83ac217957eece2189eccf4a7232caec7232ee
commit-date: 2023-10-31
host: x86_64-apple-darwin
release: 1.75.0-nightly
LLVM version: 17.0.3

Error output

note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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

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

note: please attach the file at `/Users/lz1998/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/icu_locid_transform-1.3.2/rustc-ice-2023-11-01T07_37_33-69259.txt` to your bug report

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked

note: some of the compiler flags provided by cargo are hidden

query stack during panic:
#0 [mir_borrowck] borrow-checking `expander::<impl at /Users/lz1998/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/icu_locid_transform-1.3.2/src/expander.rs:184:1: 184:20>::try_new_compat`
#1 [analysis] running analysis passes on this crate
end of query stack
    Checking pnet_packet v0.33.0
    Checking ipnetwork v0.20.0
error: could not compile `icu_locid_transform` (lib)

Backtrace

thread 'rustc' panicked at compiler/rustc_infer/src/infer/outlives/test_type_match.rs:46:5:
assertion failed: !verify_if_eq_b.has_escaping_bound_vars()
stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::panicking::panic
   3: rustc_infer::infer::outlives::test_type_match::extract_verify_if_eq
   4: <&mut <rustc_infer::infer::outlives::for_liveness::FreeRegionsVisitor<<rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure#0}> as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty::{closure#0} as core::ops::function::FnMut<(rustc_middle::ty::Clause,)>>::call_mut
   5: <alloc::vec::Vec<rustc_middle::ty::sty::Region> as alloc::vec::spec_from_iter::SpecFromIter<rustc_middle::ty::sty::Region, core::iter::adapters::filter_map::FilterMap<core::iter::adapters::chain::Chain<rustc_middle::ty::generic_args::IterInstantiated<&rustc_middle::ty::list::List<rustc_middle::ty::Clause>>, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::Clause>>>, <rustc_infer::infer::outlives::for_liveness::FreeRegionsVisitor<<rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure#0}> as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty::{closure#0}>>>::from_iter
   6: <rustc_infer::infer::outlives::for_liveness::FreeRegionsVisitor<<rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure#0}> as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty
   7: <rustc_middle::ty::Ty as rustc_type_ir::visit::TypeSuperVisitable<rustc_middle::ty::context::TyCtxt>>::super_visit_with::<rustc_infer::infer::outlives::for_liveness::FreeRegionsVisitor<<rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure#0}>>
   8: <rustc_infer::infer::outlives::for_liveness::FreeRegionsVisitor<<rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure#0}> as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty
   9: <rustc_middle::ty::Ty as rustc_type_ir::visit::TypeSuperVisitable<rustc_middle::ty::context::TyCtxt>>::super_visit_with::<rustc_infer::infer::outlives::for_liveness::FreeRegionsVisitor<<rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure#0}>>
  10: <rustc_infer::infer::outlives::for_liveness::FreeRegionsVisitor<<rustc_borrowck::type_check::liveness::trace::LivenessContext>::make_all_regions_live<rustc_middle::ty::Ty>::{closure#0}> as rustc_type_ir::visit::TypeVisitor<rustc_middle::ty::context::TyCtxt>>::visit_ty
  11: rustc_borrowck::type_check::liveness::trace::trace
  12: rustc_borrowck::type_check::liveness::generate
  13: rustc_borrowck::type_check::type_check
  14: rustc_borrowck::nll::compute_regions
  15: rustc_borrowck::do_mir_borrowck
  16: rustc_borrowck::mir_borrowck
      [... omitted 2 frames ...]
  17: <rustc_data_structures::sync::parallel::ParallelGuard>::run::<(), rustc_data_structures::sync::parallel::disabled::par_for_each_in<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#1}::{closure#0}>::{closure#0}>::{closure#0}::{closure#0}::{closure#0}>
  18: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#1}>
  19: rustc_interface::passes::analysis
      [... omitted 2 frames ...]
  20: <rustc_interface::queries::QueryResult<&rustc_middle::ty::context::GlobalCtxt>>::enter::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#6}>
  21: rustc_span::set_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.I-ICEIssue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions