Skip to content

[ICE]: compiling naglebra 0.29 fails on nightly #154261

Closed as duplicate
Closed as duplicate

Description

@lrobidou

Hi,

I noticed building nalgebra 0.29 fails on nightly. Unfortunately, I am not familiar with the crate enough to provide a minimal verifiable example. Sorry for that.

Reproducing

Here is how you can reproduce the ICE:

git clone https://github.com/dimforge/nalgebra && cd nalgebra && git checkout v0.29.0 && cargo +nightly build

rustc +nightly --version:

rustc 1.96.0-nightly (562dee482 2026-03-21)

Error output

Backtrace

thread 'rustc' (124858) panicked at /rustc-dev/562dee4820c458d823175268e41601d4c060588a/compiler/rustc_infer/src/infer/relate/generalize.rs:294:44:
called `Result::unwrap_err()` on an `Ok` value: base::array_storage::ArrayStorage<base::matrix::Matrix<?20t, base::dimension::Const<?0c>, base::dimension::Const<1_usize>, ?21t>, ?0c, 1_usize>
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: <rustc_infer::infer::InferCtxt>::instantiate_ty_var::<rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>
   4: <rustc_middle::ty::generic_args::GenericArg as rustc_type_ir::relate::Relate<rustc_middle::ty::context::TyCtxt>>::relate::<rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>
   5: <core::result::Result<rustc_middle::ty::generic_args::GenericArg, rustc_type_ir::error::TypeError<rustc_middle::ty::context::TyCtxt>> as rustc_type_ir::interner::CollectAndApply<rustc_middle::ty::generic_args::GenericArg, &rustc_middle::ty::list::RawList<(), rustc_middle::ty::generic_args::GenericArg>>>::collect_and_apply::<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>>, rustc_type_ir::relate::relate_args_invariantly<rustc_middle::ty::context::TyCtxt, rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>::{closure#0}>, <rustc_middle::ty::context::TyCtxt>::mk_args_from_iter<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>>, rustc_type_ir::relate::relate_args_invariantly<rustc_middle::ty::context::TyCtxt, rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>::{closure#0}>, core::result::Result<rustc_middle::ty::generic_args::GenericArg, rustc_type_ir::error::TypeError<rustc_middle::ty::context::TyCtxt>>>::{closure#0}>
   6: rustc_type_ir::relate::structurally_relate_tys::<rustc_middle::ty::context::TyCtxt, rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>
   7: <rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt> as rustc_type_ir::relate::TypeRelation<rustc_middle::ty::context::TyCtxt>>::tys
   8: <rustc_infer::infer::InferCtxt>::instantiate_ty_var::<rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>
   9: <rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt> as rustc_type_ir::relate::TypeRelation<rustc_middle::ty::context::TyCtxt>>::tys
  10: rustc_type_ir::relate::structurally_relate_tys::<rustc_middle::ty::context::TyCtxt, rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>
  11: <rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt> as rustc_type_ir::relate::TypeRelation<rustc_middle::ty::context::TyCtxt>>::tys
  12: <core::result::Result<rustc_middle::ty::generic_args::GenericArg, rustc_type_ir::error::TypeError<rustc_middle::ty::context::TyCtxt>> as rustc_type_ir::interner::CollectAndApply<rustc_middle::ty::generic_args::GenericArg, &rustc_middle::ty::list::RawList<(), rustc_middle::ty::generic_args::GenericArg>>>::collect_and_apply::<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>>, rustc_type_ir::relate::relate_args_invariantly<rustc_middle::ty::context::TyCtxt, rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>::{closure#0}>, <rustc_middle::ty::context::TyCtxt>::mk_args_from_iter<core::iter::adapters::map::Map<core::iter::adapters::zip::Zip<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>, core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::generic_args::GenericArg>>>, rustc_type_ir::relate::relate_args_invariantly<rustc_middle::ty::context::TyCtxt, rustc_type_ir::relate::solver_relating::SolverRelating<rustc_infer::infer::InferCtxt, rustc_middle::ty::context::TyCtxt>>::{closure#0}>, core::result::Result<rustc_middle::ty::generic_args::GenericArg, rustc_type_ir::error::TypeError<rustc_middle::ty::context::TyCtxt>>>::{closure#0}>
  13: <rustc_infer::infer::at::At>::eq_trace::<rustc_type_ir::predicate::TraitRef<rustc_middle::ty::context::TyCtxt>>
  14: rustc_trait_selection::traits::coherence::overlap
  15: <rustc_middle::traits::specialization_graph::Children as rustc_trait_selection::traits::specialize::specialization_graph::ChildrenExt>::insert
  16: <rustc_middle::traits::specialization_graph::Graph as rustc_trait_selection::traits::specialize::specialization_graph::GraphExt>::insert
  17: rustc_trait_selection::traits::specialize::specialization_graph_provider
  18: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::DefIdCache<rustc_middle::query::erase::ErasedData<[u8; 8]>>, true>
  19: rustc_hir_analysis::coherence::coherent_trait
      [... omitted 1 frame ...]
  20: rustc_hir_analysis::check::check::check_item_type
  21: rustc_hir_analysis::check::wfcheck::check_well_formed
      [... omitted 1 frame ...]
  22: rustc_hir_analysis::check::wfcheck::check_type_wf
      [... omitted 1 frame ...]
  23: rustc_hir_analysis::check_crate
  24: rustc_interface::passes::analysis
  25: rustc_query_impl::execution::try_execute_query::<rustc_middle::query::caches::SingleCache<rustc_middle::query::erase::ErasedData<[u8; 0]>>, true>
  26: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
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 make sure that you have updated to the latest nightly

note: please attach the file at `/home/xxx/Documents/nalgebra/rustc-ice-2026-03-23T14_02_55-124856.txt` to your bug report

note: rustc 1.96.0-nightly (562dee482 2026-03-21) running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
#0 [specialization_graph_of] building specialization graph of trait `core::convert::From`
#1 [coherent_trait] coherence checking all impls of trait `core::convert::From`
#2 [check_well_formed] checking that `base::conversion::<impl at src/base/conversion.rs:113:1: 113:63>` is well-formed
#3 [check_type_wf] checking that types are well-formed
#4 [analysis] running analysis passes on crate `nalgebra`
end of query stack
warning: `nalgebra` (lib) generated 3 warnings
error: could not compile `nalgebra` (lib) due to 6 previous errors; 3 warnings emitted

Activity

  1. added
    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.
    C-bugCategory: This is a bug.
    on Mar 23, 2026
  2. added
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Mar 23, 2026
  3. changed the title [-][ICE]: cimpiling naglebra 0.29 fails[/-] [+][ICE]: compiling naglebra 0.29 fails on nightly[/+] on Mar 23, 2026
  4. lrobidou commented on Mar 23, 2026

    @lrobidou
    Author

    Might be duplication of #154244

  5. added
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    on Mar 23, 2026
  6. jieyouxu commented on Mar 23, 2026

    @jieyouxu
    Member

    Thanks, closing in favor of earlier report

  7. removed
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Mar 23, 2026
  8. removed
    I-prioritizeIssue needs a team member to assess the impact. Will be replaced by P-{low,medium,high,critical}
    regression-untriagedUntriaged performance or correctness regression.
    on Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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