Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Internal compiler error, something with type inference (?) #146337

@bragov4ik

Description

@bragov4ik

NOTE: it doesn't reproduce in nightly; I'm not sure that it makes the report useless. So, I still create this issue.

Code

Thats the best minimal verifiable example I came up with.
Only one dependency,

sea-orm = { version = "1" }
// this must be imported to use load_many
use sea_orm::LoaderTrait;
use sea_orm::{DatabaseConnection, DbErr, Select};

mod mother_entity {
    use sea_orm::entity::prelude::*;

    #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
    #[sea_orm(table_name = "mother_entity")]
    pub struct Model {
        #[sea_orm(primary_key)]
        pub id: i32,
        pub grandmother_entity_id: i32,
    }

    #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
    pub enum Relation {
        #[sea_orm(has_many = "super::children_entity::Entity")]
        ChildrenEntity,
        #[sea_orm(
            belongs_to = "super::grandmother_entity::Entity",
            from = "Column::GrandmotherEntityId",
            to = "super::grandmother_entity::Column::Id"
        )]
        GrandmotherEntity,
    }

    impl Related<super::grandmother_entity::Entity> for Entity {
        fn to() -> RelationDef {
            Relation::GrandmotherEntity.def()
        }
    }

    impl Related<super::children_entity::Entity> for Entity {
        fn to() -> RelationDef {
            Relation::ChildrenEntity.def()
        }
    }

    impl ActiveModelBehavior for ActiveModel {}
}

mod grandmother_entity {
    use sea_orm::entity::prelude::*;

    #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
    #[sea_orm(table_name = "grandmother_entity")]
    pub struct Model {
        #[sea_orm(primary_key)]
        pub id: i32,
        pub mother_entity_id: i32,
    }

    #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
    pub enum Relation {
        #[sea_orm(
            belongs_to = "super::mother_entity::Entity",
            from = "Column::MotherEntityId",
            to = "super::mother_entity::Column::Id"
        )]
        MotherEntity,
    }

    impl Related<super::mother_entity::Entity> for Entity {
        fn to() -> RelationDef {
            Relation::MotherEntity.def()
        }
    }

    impl ActiveModelBehavior for ActiveModel {}
}

mod children_entity {
    use sea_orm::entity::prelude::*;

    #[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq)]
    #[sea_orm(table_name = "children")]
    pub struct Model {
        #[sea_orm(primary_key)]
        pub id: i32,
        pub mother_entity_id: i32,
    }

    #[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
    pub enum Relation {
        #[sea_orm(
            belongs_to = "super::mother_entity::Entity",
            from = "Column::MotherEntityId",
            to = "super::mother_entity::Column::Id",
            on_update = "NoAction",
            on_delete = "NoAction"
        )]
        MotherEntity,
    }

    impl Related<super::mother_entity::Entity> for Entity {
        fn to() -> RelationDef {
            Relation::MotherEntity.def()
        }
    }

    impl ActiveModelBehavior for ActiveModel {}
}

async fn what_the_helly(
    db: &DatabaseConnection,
    select: Select<mother_entity::Entity>,
) -> Result<
    Vec<(
        mother_entity::Model,
        Option<grandmother_entity::Model>,
        // specifying the 3rd type here doesn't avoid the error
        Vec<children_entity::Model>,
    )>,
    DbErr,
> {
    let mut the_promised_neverland: Vec<(
        mother_entity::Model,
        Option<grandmother_entity::Model>,
        // inferring the 3rd type seems important
        _,
    )> = select
        .find_also_related(grandmother_entity::Entity)
        .all(db)
        .await?
        .into_iter()
        .map(|(a, b)| (a, b, vec![]))
        .collect::<Vec<_>>();
    // this line seems to be the issue
    the_promised_neverland
        .load_many(children_entity::Entity, db)
        .await?;
    Ok(the_promised_neverland)
}

fn main() {
    println!();
}

Meta

rustc --version --verbose:

❯ rustc --version --verbose
rustc 1.89.0 (29483883e 2025-08-04)
binary: rustc
commit-hash: 29483883eed69d5fb4db01964cdf2af4d86e9cb2
commit-date: 2025-08-04
host: aarch64-apple-darwin
release: 1.89.0
LLVM version: 20.1.7

The issue does not occur in nightly (in this MVE). It doesn't mean that I should not report it, right? :) I hope this report will be useful in any case.

Error output

   Compiling test-field v0.1.0 (/Users/bragov4ik/Documents/rust/test-field)

thread 'rustc' panicked at /rust/deps/ena-0.14.3/src/snapshot_vec.rs:199:10:
index out of bounds: the len is 95 but the index is 95
stack backtrace:
   0:        0x10ea78810 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h373e57e2286956dc
   1:        0x10c044e6c - core::fmt::write::h2c4a0b98b09e3b30
   2:        0x10ea6ced4 - std::io::Write::write_fmt::h00b4007fff731b84
   3:        0x10ea786d0 - std::sys::backtrace::BacktraceLock::print::h3eb1535b8d3666ca
   4:        0x10ea7d294 - std::panicking::default_hook::{{closure}}::hf623c44b740b115f
   5:        0x10ea7cf64 - std::panicking::default_hook::h8875fb31ec87dfad
   6:        0x10cb99c78 - std[cb77c4d3935a8f9e]::panicking::update_hook::<alloc[dc127062c533bc32]::boxed::Box<rustc_driver_impl[d842cfc0290b9021]::install_ice_hook::{closure#1}>>::{closure#0}
   7:        0x10ea7dc08 - std::panicking::rust_panic_with_hook::hdd8ceeeb04975c2b
   8:        0x10ea7d808 - std::panicking::begin_panic_handler::{{closure}}::hdf417b72ab8ffff8
   9:        0x10ea78c9c - std::sys::backtrace::__rust_end_short_backtrace::h507d79c50996742e
  10:        0x10ea7d50c - __rustc[5224e6b81cd82a8f]::rust_begin_unwind
  11:        0x1116b8fa0 - core::panicking::panic_fmt::h3505bfbec5a0b799
  12:        0x1116b9120 - core::panicking::panic_bounds_check::he97faa96f3a18922
  13:        0x10d369448 - <ena[6e4c81dd827a0dc2]::unify::UnificationTable<ena[6e4c81dd827a0dc2]::unify::backing_vec::InPlace<rustc_infer[5718ac49e298a346]::infer::type_variable::TyVidEqKey, &mut alloc[dc127062c533bc32]::vec::Vec<ena[6e4c81dd827a0dc2]::unify::VarValue<rustc_infer[5718ac49e298a346]::infer::type_variable::TyVidEqKey>>, &mut rustc_infer[5718ac49e298a346]::infer::snapshot::undo_log::InferCtxtUndoLogs>>>::uninlined_get_root_key
  14:        0x10d387090 - <rustc_infer[5718ac49e298a346]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[2f2631f9d76bca04]::fold::TypeFolder<rustc_middle[1167b689b7e23884]::ty::context::TyCtxt>>::fold_ty
  15:        0x10d350094 - <&rustc_middle[1167b689b7e23884]::ty::list::RawList<(), rustc_middle[1167b689b7e23884]::ty::generic_args::GenericArg> as rustc_type_ir[2f2631f9d76bca04]::fold::TypeFoldable<rustc_middle[1167b689b7e23884]::ty::context::TyCtxt>>::fold_with::<rustc_infer[5718ac49e298a346]::infer::canonical::canonicalizer::Canonicalizer>
  16:        0x10d387268 - <rustc_infer[5718ac49e298a346]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[2f2631f9d76bca04]::fold::TypeFolder<rustc_middle[1167b689b7e23884]::ty::context::TyCtxt>>::fold_ty
  17:        0x10d353fe4 - <&rustc_middle[1167b689b7e23884]::ty::list::RawList<(), rustc_middle[1167b689b7e23884]::ty::Ty> as rustc_type_ir[2f2631f9d76bca04]::fold::TypeFoldable<rustc_middle[1167b689b7e23884]::ty::context::TyCtxt>>::fold_with::<rustc_infer[5718ac49e298a346]::infer::canonical::canonicalizer::Canonicalizer>
  18:        0x10d387394 - <rustc_infer[5718ac49e298a346]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[2f2631f9d76bca04]::fold::TypeFolder<rustc_middle[1167b689b7e23884]::ty::context::TyCtxt>>::fold_ty
  19:        0x10d35005c - <&rustc_middle[1167b689b7e23884]::ty::list::RawList<(), rustc_middle[1167b689b7e23884]::ty::generic_args::GenericArg> as rustc_type_ir[2f2631f9d76bca04]::fold::TypeFoldable<rustc_middle[1167b689b7e23884]::ty::context::TyCtxt>>::fold_with::<rustc_infer[5718ac49e298a346]::infer::canonical::canonicalizer::Canonicalizer>
  20:        0x10d38782c - <rustc_infer[5718ac49e298a346]::infer::canonical::canonicalizer::Canonicalizer as rustc_type_ir[2f2631f9d76bca04]::fold::TypeFolder<rustc_middle[1167b689b7e23884]::ty::context::TyCtxt>>::fold_predicate
  21:        0x10e8931bc - <rustc_infer[5718ac49e298a346]::infer::InferCtxt as rustc_trait_selection[c689819e273b23e5]::traits::query::evaluate_obligation::InferCtxtExt>::evaluate_obligation
  22:        0x10d0a9678 - <rustc_infer[5718ac49e298a346]::infer::InferCtxt as rustc_trait_selection[c689819e273b23e5]::infer::InferCtxtExt>::type_implements_trait::<&rustc_middle[1167b689b7e23884]::ty::list::RawList<(), rustc_middle[1167b689b7e23884]::ty::generic_args::GenericArg>>
  23:        0x10d2204f4 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::report_no_match_method_error
  24:        0x10d2937dc - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::report_method_error
  25:        0x10d27f88c - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_kind
  26:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  27:        0x10d1d7df4 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_argument_types
  28:        0x10d18a374 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::confirm_builtin_call
  29:        0x10d27c4e8 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_kind
  30:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  31:        0x10d1a6e40 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_has_type_or_error::<<rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_unsafe_binder_cast::{closure#2}>
  32:        0x10d2743b8 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_kind
  33:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  34:        0x10d1d7df4 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_argument_types
  35:        0x10d18a374 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::confirm_builtin_call
  36:        0x10d27c4e8 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_kind
  37:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  38:        0x10d1a6e40 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_has_type_or_error::<<rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_unsafe_binder_cast::{closure#2}>
  39:        0x10d2743b8 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_kind
  40:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  41:        0x10d1e4870 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_block
  42:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  43:        0x10d272b64 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_kind
  44:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  45:        0x10d1e4bb0 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_block
  46:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  47:        0x10d1a99a4 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_return_or_body_tail
  48:        0x10d2659a0 - rustc_hir_typeck[f415831ab47a38bd]::check::check_fn
  49:        0x10d27e954 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_kind
  50:        0x10d1a7760 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  51:        0x10d1a99a4 - <rustc_hir_typeck[f415831ab47a38bd]::fn_ctxt::FnCtxt>::check_return_or_body_tail
  52:        0x10d2659a0 - rustc_hir_typeck[f415831ab47a38bd]::check::check_fn
  53:        0x10d2a3b94 - rustc_hir_typeck[f415831ab47a38bd]::typeck_with_inspect::{closure#0}
  54:        0x10d26259c - rustc_hir_typeck[f415831ab47a38bd]::typeck
  55:        0x10e1c812c - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>>
  56:        0x10e01c340 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_data_structures[5840aaa434700ddb]::vec_cache::VecCache<rustc_span[6199a3107ff9a2f8]::def_id::LocalDefId, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fec8bad0584273b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  57:        0x10e1f5edc - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::typeck::get_query_incr::__rust_end_short_backtrace
  58:        0x10d97da70 - rustc_mir_build[462e49dbfad7256f]::thir::pattern::check_match::check_match
  59:        0x10e1c2320 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::check_match::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>>
  60:        0x10e0159d8 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_data_structures[5840aaa434700ddb]::vec_cache::VecCache<rustc_span[6199a3107ff9a2f8]::def_id::LocalDefId, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fec8bad0584273b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  61:        0x10e201c08 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::check_match::get_query_incr::__rust_end_short_backtrace
  62:        0x10d93e2c0 - rustc_mir_build[462e49dbfad7256f]::builder::build_mir
  63:        0x10db30078 - rustc_mir_transform[57bd2729e1392846]::mir_built
  64:        0x10e1c853c - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>>
  65:        0x10e01c340 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_data_structures[5840aaa434700ddb]::vec_cache::VecCache<rustc_span[6199a3107ff9a2f8]::def_id::LocalDefId, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fec8bad0584273b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  66:        0x10e1dc544 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::mir_built::get_query_incr::__rust_end_short_backtrace
  67:        0x10db18264 - rustc_mir_transform[57bd2729e1392846]::ffi_unwind_calls::has_ffi_unwind_calls
  68:        0x10e1c5868 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::has_ffi_unwind_calls::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>>
  69:        0x10e0159d8 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_data_structures[5840aaa434700ddb]::vec_cache::VecCache<rustc_span[6199a3107ff9a2f8]::def_id::LocalDefId, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fec8bad0584273b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  70:        0x10e21f0e8 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::has_ffi_unwind_calls::get_query_incr::__rust_end_short_backtrace
  71:        0x10db305e4 - rustc_mir_transform[57bd2729e1392846]::mir_promoted
  72:        0x10e1c2854 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 16usize]>>
  73:        0x10e011f48 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_data_structures[5840aaa434700ddb]::vec_cache::VecCache<rustc_span[6199a3107ff9a2f8]::def_id::LocalDefId, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 16usize]>, rustc_query_system[4fec8bad0584273b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  74:        0x10e1dd734 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::mir_promoted::get_query_incr::__rust_end_short_backtrace
  75:        0x10c6b07c8 - rustc_borrowck[e4f4490ea91cbbc7]::mir_borrowck
  76:        0x10e1c27f8 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>>
  77:        0x10e01c340 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_data_structures[5840aaa434700ddb]::vec_cache::VecCache<rustc_span[6199a3107ff9a2f8]::def_id::LocalDefId, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4fec8bad0584273b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  78:        0x10e1f6c04 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace
  79:        0x10cf4ba64 - rustc_hir_analysis[8ddac942c10aabe3]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
  80:        0x10cf4df14 - rustc_hir_analysis[8ddac942c10aabe3]::collect::type_of::type_of_opaque
  81:        0x10e1c32f8 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>>
  82:        0x10df9b304 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_query_system[4fec8bad0584273b]::query::caches::DefIdCache<rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  83:        0x10e1d2678 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace
  84:        0x10cf4c6bc - rustc_hir_analysis[8ddac942c10aabe3]::collect::type_of::type_of
  85:        0x10e1c818c - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>>
  86:        0x10df9b304 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_query_system[4fec8bad0584273b]::query::caches::DefIdCache<rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  87:        0x10e1d220c - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace
  88:        0x10cecf5ac - rustc_hir_analysis[8ddac942c10aabe3]::check::check::check_opaque
  89:        0x10ced8c48 - rustc_hir_analysis[8ddac942c10aabe3]::check::check::check_item_type
  90:        0x10cf03e94 - rustc_hir_analysis[8ddac942c10aabe3]::check::wfcheck::check_well_formed
  91:        0x10e1c4518 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>>
  92:        0x10e0159d8 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_data_structures[5840aaa434700ddb]::vec_cache::VecCache<rustc_span[6199a3107ff9a2f8]::def_id::LocalDefId, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>, rustc_query_system[4fec8bad0584273b]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  93:        0x10e221c40 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace
  94:        0x10cf141b4 - rustc_hir_analysis[8ddac942c10aabe3]::check::wfcheck::check_type_wf
  95:        0x10e1c2950 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::check_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>>
  96:        0x10dfa1f4c - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_query_system[4fec8bad0584273b]::query::caches::SingleCache<rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
  97:        0x10e1f5650 - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::check_type_wf::get_query_incr::__rust_end_short_backtrace
  98:        0x10cf92db0 - rustc_hir_analysis[8ddac942c10aabe3]::check_crate
  99:        0x10d49269c - rustc_interface[1ca290b8fd8025d1]::passes::run_required_analyses
 100:        0x10d4942bc - rustc_interface[1ca290b8fd8025d1]::passes::analysis
 101:        0x10e1c81a8 - rustc_query_impl[c6056fbd16d4ea1f]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[c6056fbd16d4ea1f]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 0usize]>>
 102:        0x10df9ec94 - rustc_query_system[4fec8bad0584273b]::query::plumbing::try_execute_query::<rustc_query_impl[c6056fbd16d4ea1f]::DynamicConfig<rustc_query_system[4fec8bad0584273b]::query::caches::SingleCache<rustc_middle[1167b689b7e23884]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[c6056fbd16d4ea1f]::plumbing::QueryCtxt, true>
 103:        0x10e1d410c - rustc_query_impl[c6056fbd16d4ea1f]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
 104:        0x10cb4e178 - rustc_interface[1ca290b8fd8025d1]::passes::create_and_enter_global_ctxt::<core[7dbedb1310b8cec0]::option::Option<rustc_interface[1ca290b8fd8025d1]::queries::Linker>, rustc_driver_impl[d842cfc0290b9021]::run_compiler::{closure#0}::{closure#2}>
 105:        0x10cb96c9c - rustc_interface[1ca290b8fd8025d1]::interface::run_compiler::<(), rustc_driver_impl[d842cfc0290b9021]::run_compiler::{closure#0}>::{closure#1}
 106:        0x10cb8c1ac - std[cb77c4d3935a8f9e]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[1ca290b8fd8025d1]::util::run_in_thread_with_globals<rustc_interface[1ca290b8fd8025d1]::util::run_in_thread_pool_with_globals<rustc_interface[1ca290b8fd8025d1]::interface::run_compiler<(), rustc_driver_impl[d842cfc0290b9021]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
 107:        0x10cb9cd34 - <<std[cb77c4d3935a8f9e]::thread::Builder>::spawn_unchecked_<rustc_interface[1ca290b8fd8025d1]::util::run_in_thread_with_globals<rustc_interface[1ca290b8fd8025d1]::util::run_in_thread_pool_with_globals<rustc_interface[1ca290b8fd8025d1]::interface::run_compiler<(), rustc_driver_impl[d842cfc0290b9021]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[7dbedb1310b8cec0]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
 108:        0x10ea80f6c - std::sys::pal::unix::thread::Thread::new::thread_start::h447d747a543e4adc
 109:        0x193ea6f94 - __pthread_joiner_wake

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: rustc 1.89.0 (29483883e 2025-08-04) running on aarch64-apple-darwin

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

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

query stack during panic:
#0 [typeck] type-checking `what_the_helly`
#1 [check_match] match-checking `what_the_helly`
... and 9 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
note: no errors encountered even though delayed bugs were created

note: those delayed bugs will now be shown as internal compiler errors

error: internal compiler error: {OpaqueTypeKey { def_id: DefId(0:26 ~ test_field[4b55]::what_the_helly::{opaque#0}), args: [ReLateParam(DefId(0:25 ~ test_field[4b55]::what_the_helly), LateNamed(DefId(0:635 ~ test_field[4b55]::what_the_helly::'_), '_))] }: OpaqueHiddenType { span: src/main.rs:105:1: 116:2 (#270), ty: ?0t }}
  |
  = note: delayed at compiler/rustc_infer/src/infer/opaque_types/table.rs:127:43 - disabled backtrace

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

note: rustc 1.89.0 (29483883e 2025-08-04) running on aarch64-apple-darwin

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

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

query stack during panic:
end of query stack
error: could not compile `test-field` (bin "test-field")

Caused by:
  process didn't exit successfully: `/Users/bragov4ik/.rustup/toolchains/stable-aarch64-apple-darwin/bin/rustc --crate-name test_field --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=187 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 -C split-debuginfo=unpacked --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=c0327f7753d8f423 -C extra-filename=-096d0ba1c140fca7 --out-dir /Users/bragov4ik/Documents/rust/test-field/target/debug/deps -C incremental=/Users/bragov4ik/Documents/rust/test-field/target/debug/incremental -L dependency=/Users/bragov4ik/Documents/rust/test-field/target/debug/deps --extern sea_orm=/Users/bragov4ik/Documents/rust/test-field/target/debug/deps/libsea_orm-afeb644b82310456.rlib` (exit status: 101)
Backtrace

  |
  = note: delayed at compiler/rustc_infer/src/infer/opaque_types/table.rs:127:43
             0: std::backtrace::Backtrace::create
             1: <rustc_errors::DiagCtxtInner>::emit_diagnostic
             2: <rustc_errors::DiagCtxtHandle>::emit_diagnostic
             3: <rustc_span::ErrorGuaranteed as rustc_errors::diagnostic::EmissionGuarantee>::emit_producing_guarantee
             4: <rustc_errors::DiagCtxtHandle>::delayed_bug::<alloc::string::String>
             5: core::ptr::drop_in_place::<rustc_infer::infer::opaque_types::table::OpaqueTypeStorage>
             6: core::ptr::drop_in_place::<rustc_infer::infer::InferCtxt>
             7: core::ptr::drop_in_place::<rustc_hir_typeck::typeck_root_ctxt::TypeckRootCtxt>
             8: rustc_hir_typeck::typeck_with_inspect::{closure#0}
             9: rustc_hir_typeck::typeck
            10: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
            11: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<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>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            12: rustc_query_impl::query_impl::typeck::get_query_incr::__rust_end_short_backtrace
            13: rustc_mir_build::thir::pattern::check_match::check_match
            14: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::check_match::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 1]>>
            15: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<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>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            16: rustc_query_impl::query_impl::check_match::get_query_incr::__rust_end_short_backtrace
            17: rustc_mir_build::builder::build_mir
            18: rustc_mir_transform::mir_built
            19: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::mir_built::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
            20: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<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>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            21: rustc_query_impl::query_impl::mir_built::get_query_incr::__rust_end_short_backtrace
            22: rustc_mir_transform::ffi_unwind_calls::has_ffi_unwind_calls
            23: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::has_ffi_unwind_calls::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 1]>>
            24: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<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>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            25: rustc_query_impl::query_impl::has_ffi_unwind_calls::get_query_incr::__rust_end_short_backtrace
            26: rustc_mir_transform::mir_promoted
            27: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 16]>>
            28: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            29: rustc_query_impl::query_impl::mir_promoted::get_query_incr::__rust_end_short_backtrace
            30: rustc_borrowck::mir_borrowck
            31: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
            32: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<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>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            33: rustc_query_impl::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace
            34: rustc_hir_analysis::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit
            35: rustc_hir_analysis::collect::type_of::type_of_opaque
            36: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::type_of_opaque::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
            37: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            38: rustc_query_impl::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace
            39: rustc_hir_analysis::collect::type_of::type_of
            40: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::type_of::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 8]>>
            41: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            42: rustc_query_impl::query_impl::type_of::get_query_incr::__rust_end_short_backtrace
            43: rustc_hir_analysis::check::check::check_opaque
            44: rustc_hir_analysis::check::check::check_item_type
            45: rustc_hir_analysis::check::wfcheck::check_well_formed
            46: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::check_well_formed::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 1]>>
            47: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<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>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            48: rustc_query_impl::query_impl::check_well_formed::get_query_incr::__rust_end_short_backtrace
            49: rustc_hir_analysis::check::wfcheck::check_type_wf
            50: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::check_type_wf::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 1]>>
            51: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 1]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            52: rustc_query_impl::query_impl::check_type_wf::get_query_incr::__rust_end_short_backtrace
            53: rustc_hir_analysis::check_crate
            54: rustc_interface::passes::run_required_analyses
            55: rustc_interface::passes::analysis
            56: rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle::query::erase::Erased<[u8; 0]>>
            57: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, true>
            58: rustc_query_impl::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
            59: rustc_interface::passes::create_and_enter_global_ctxt::<core::option::Option<rustc_interface::queries::Linker>, rustc_driver_impl::run_compiler::{closure#0}::{closure#2}>
            60: rustc_interface::interface::run_compiler::<(), rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
            61: std::sys::backtrace::__rust_begin_short_backtrace::<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}, ()>
            62: <<std::thread::Builder>::spawn_unchecked_<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#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            63: std::sys::pal::unix::thread::Thread::new::thread_start
            64: __pthread_joiner_wake

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