Skip to content

ICE: type parameter T/#2 (T/#2/2) out of range when instantiating, args=[?8c, ?9c] #145824

@Dav1dde

Description

@Dav1dde

Code

#![cfg_attr(not(test), no_std)]
#![feature(generic_const_exprs)]
#![feature(associated_const_equality)]
#![allow(incomplete_features)]

use core::fmt::{self, Write};

type Pixel = Option<char>;


pub struct Canvas<const WIDTH: usize, const HEIGHT: usize>(pub [[Pixel; WIDTH]; HEIGHT]);

impl<const WIDTH: usize, const HEIGHT: usize> Canvas<WIDTH, HEIGHT> {
    pub fn new(pixel: Pixel) -> Self {
        Self([[pixel; WIDTH]; HEIGHT])
    }
}

impl<const WIDTH: usize, const HEIGHT: usize> Default for Canvas<WIDTH, HEIGHT> {
    fn default() -> Self {
        Self::new(None)
    }
}

impl<const WIDTH: usize, const HEIGHT: usize> fmt::Display for Canvas<WIDTH, HEIGHT> {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        for row in &self.0 {
            for pixel in row {
                f.write_char(pixel.unwrap_or(' '))?;
            }
            f.write_char('\n')?;
        }
        Ok(())
    }
}

trait Widget {
    const WIDTH: usize;
    const HEIGHT: usize;

    fn render(&mut self) -> Canvas<{ Self::WIDTH }, { Self::HEIGHT }>;
}

pub struct Box<const WIDTH: usize, const HEIGHT: usize, T> {
    border: Pixel,
    inner: T,
}

impl<const WIDTH: usize, const HEIGHT: usize, T> Box<WIDTH, HEIGHT, T> {
    pub fn new(inner: T) -> Self
    where
        T: Widget<WIDTH = { WIDTH - 2 }, HEIGHT = { HEIGHT - 2 }>,
    {
        Self {
            border: Pixel::default(),
            inner,
        }
    }

    fn empty<const X: usize, const Y: usize>() -> Box<X, Y, Empty<{ X - 2 }, { Y - 2 }>> {
        Box::new(Empty)
    }
}

pub struct Empty<const WIDTH: usize, const HEIGHT: usize>;

impl<const WIDTH: usize, const HEIGHT: usize> Widget for Empty<WIDTH, HEIGHT> {
    const WIDTH: usize = WIDTH;
    const HEIGHT: usize = HEIGHT;

    fn render(&mut self) -> Canvas<{ Self::WIDTH }, { Self::HEIGHT }> {
        Canvas::default()
    }
}

pub struct HBox<const WIDTH: usize, const HEIGHT: usize, T> {
    inner: T,
}

impl<const WIDTH: usize, const HEIGHT: usize, T> HBox<WIDTH, HEIGHT, T> {
    fn new(inner: T) -> Self
    where
        T: HContainer<WIDTH, HEIGHT>,
    {
        Self { inner }
    }
}

impl<const WIDTH: usize, const HEIGHT: usize, T> Widget for HBox<WIDTH, HEIGHT, T> {
    const WIDTH: usize = WIDTH;
    const HEIGHT: usize = HEIGHT;

    fn render(&mut self) -> Canvas<{ Self::WIDTH }, { Self::HEIGHT }> {
        let mut canvas = Canvas::default();
        canvas
    }
}


trait HContainer<const WIDTH: usize, const HEIGHT: usize> {}

impl<const WIDTH: usize, const HEIGHT: usize, T, S> HContainer<WIDTH, HEIGHT> for (T, S)
where
    T: Widget,
    S: Widget,
{
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_foo() {
        let w = HBox::<20, 4, _>::new((
            Box::<9, 2, _>::new(Empty::<7, 0>).border(Some('#')),
            Box::<9, 2, _>::new(Empty::<7, 0>).border(Some('#')),
        ));

        println!("{}", w.render());
        panic!();
    }
}

Rust Playground: https://play.rust-lang.org/?version=stable&mode=debug&edition=2024&gist=74d2f4fea3063d734092cc9355836b46

Meta

rustc --version --verbose:

rustc 1.91.0-nightly (69b76df90 2025-08-23)

This also happens on stable:

rustc +stable --version --verbose:

rustc 1.89.0 (29483883e 2025-08-04)

Error output

See also the Playground (running Test with either nightly or stable):

thread 'rustc' panicked at /rustc-dev/29483883eed69d5fb4db01964cdf2af4d86e9cb2/compiler/rustc_type_ir/src/binder.rs:753:9:
type parameter `T/#2` (T/#2/2) out of range when instantiating, args=[?8c, ?9c]
stack backtrace:

thread 'rustc' panicked at /rustc-dev/29483883eed69d5fb4db01964cdf2af4d86e9cb2/compiler/rustc_type_ir/src/binder.rs:753:9:
type parameter `T/#2` (T/#2/2) out of range when instantiating, args=[?8c, ?9c]
stack backtrace:
   0:     0x7434ec4d8203 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hf435e8e9347709a8
   1:     0x7434ecc02bff - core::fmt::write::h0a51fad3804c5e7c
   2:     0x7434ee0d1591 - std::io::Write::write_fmt::h9759e4151bf4a45e
   3:     0x7434ec4d8062 - std::sys::backtrace::BacktraceLock::print::h1ec5ce5bb8ee285e
   4:     0x7434ec4dbb5a - std::panicking::default_hook::{{closure}}::h5ffefe997a3c75e4
   5:     0x7434ec4db6df - std::panicking::default_hook::h820c77ba0601d6bb
   6:     0x7434eb5c9103 - std[da76efc55aba569b]::panicking::update_hook::<alloc[679dddab44c6194d]::boxed::Box<rustc_driver_impl[aa7064ecaea87566]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7434ec4dc3ab - std::panicking::rust_panic_with_hook::h8b29cbe181d50030
   8:     0x7434ec4dc0aa - std::panicking::begin_panic_handler::{{closure}}::h9f5b6f6dc6fde83e
   9:     0x7434ec4d86d9 - std::sys::backtrace::__rust_end_short_backtrace::hd7b0c344383b0b61
  10:     0x7434ec4dbd8d - __rustc[5224e6b81cd82a8f]::rust_begin_unwind
  11:     0x7434e8c91480 - core::panicking::panic_fmt::hc49fc28484033487
  12:     0x7434ebb517f9 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::type_param_out_of_range
  13:     0x7434ecd4fa67 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_ty
  14:     0x7434ecd4b8cf - <&rustc_middle[e0a019250b2560b5]::ty::list::RawList<(), rustc_middle[e0a019250b2560b5]::ty::generic_args::GenericArg> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFoldable<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_with::<rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>
  15:     0x7434ecd4f5f0 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_ty
  16:     0x7434ecd4b2ce - <&rustc_middle[e0a019250b2560b5]::ty::list::RawList<(), rustc_middle[e0a019250b2560b5]::ty::generic_args::GenericArg> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFoldable<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_with::<rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>
  17:     0x7434edb66d63 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_const
  18:     0x7434ecec96cf - rustc_trait_selection[42934b2ac3511e78]::traits::project::confirm_candidate
  19:     0x7434ecebb45c - rustc_trait_selection[42934b2ac3511e78]::traits::project::opt_normalize_projection_term
  20:     0x7434ed5dd442 - <rustc_trait_selection[42934b2ac3511e78]::traits::fulfill::FulfillProcessor as rustc_data_structures[f798075dc9c9ee18]::obligation_forest::ObligationProcessor>::process_obligation
  21:     0x7434ecc05942 - <rustc_data_structures[f798075dc9c9ee18]::obligation_forest::ObligationForest<rustc_trait_selection[42934b2ac3511e78]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[42934b2ac3511e78]::traits::fulfill::FulfillProcessor>
  22:     0x7434eccb8319 - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_call
   0:     0x7230e10d8203 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hf435e8e9347709a8
   1:     0x7230e1802bff - core::fmt::write::h0a51fad3804c5e7c
   2:     0x7230e2cd1591 - std::io::Write::write_fmt::h9759e4151bf4a45e
   3:     0x7230e10d8062 - std::sys::backtrace::BacktraceLock::print::h1ec5ce5bb8ee285e
   4:     0x7230e10dbb5a - std::panicking::default_hook::{{closure}}::h5ffefe997a3c75e4
  23:     0x7434ed655ad3 - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
   5:     0x7230e10db6df - std::panicking::default_hook::h820c77ba0601d6bb
   6:     0x7230e01c9103 - std[da76efc55aba569b]::panicking::update_hook::<alloc[679dddab44c6194d]::boxed::Box<rustc_driver_impl[aa7064ecaea87566]::install_ice_hook::{closure#1}>>::{closure#0}
   7:     0x7230e10dc3ab - std::panicking::rust_panic_with_hook::h8b29cbe181d50030
   8:     0x7230e10dc0aa - std::panicking::begin_panic_handler::{{closure}}::h9f5b6f6dc6fde83e
   9:     0x7230e10d86d9 - std::sys::backtrace::__rust_end_short_backtrace::hd7b0c344383b0b61
  10:     0x7230e10dbd8d - __rustc[5224e6b81cd82a8f]::rust_begin_unwind
  11:     0x7230dd891480 - core::panicking::panic_fmt::hc49fc28484033487
  12:     0x7230e07517f9 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::type_param_out_of_range
  13:     0x7230e194fa67 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_ty
  14:     0x7230e194b8cf - <&rustc_middle[e0a019250b2560b5]::ty::list::RawList<(), rustc_middle[e0a019250b2560b5]::ty::generic_args::GenericArg> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFoldable<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_with::<rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>
  15:     0x7230e194f5f0 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_ty
  16:     0x7230e194b2ce - <&rustc_middle[e0a019250b2560b5]::ty::list::RawList<(), rustc_middle[e0a019250b2560b5]::ty::generic_args::GenericArg> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFoldable<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_with::<rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>
  17:     0x7230e2766d63 - <rustc_type_ir[f5f28a7ad4569220]::binder::ArgFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt> as rustc_type_ir[f5f28a7ad4569220]::fold::TypeFolder<rustc_middle[e0a019250b2560b5]::ty::context::TyCtxt>>::fold_const
  18:     0x7230e1ac96cf - rustc_trait_selection[42934b2ac3511e78]::traits::project::confirm_candidate
  19:     0x7230e1abb45c - rustc_trait_selection[42934b2ac3511e78]::traits::project::opt_normalize_projection_term
  20:     0x7230e21dd442 - <rustc_trait_selection[42934b2ac3511e78]::traits::fulfill::FulfillProcessor as rustc_data_structures[f798075dc9c9ee18]::obligation_forest::ObligationProcessor>::process_obligation
  21:     0x7230e1805942 - <rustc_data_structures[f798075dc9c9ee18]::obligation_forest::ObligationForest<rustc_trait_selection[42934b2ac3511e78]::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection[42934b2ac3511e78]::traits::fulfill::FulfillProcessor>
  22:     0x7230e18b8319 - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_call
  23:     0x7230e2255ad3 - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  24:     0x7230e223187d - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_block
  25:     0x7230e225600c - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  26:     0x7230e223be2e - rustc_hir_typeck[f7b17b06701b8912]::check::check_fn
  27:     0x7230e2a0244b - rustc_hir_typeck[f7b17b06701b8912]::typeck_with_inspect::{closure#0}
  28:     0x7230e29eebb0 - rustc_query_impl[36e6800b9757404d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[36e6800b9757404d]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 8usize]>>
  24:     0x7434ed63187d - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_block
  25:     0x7434ed65600c - <rustc_hir_typeck[f7b17b06701b8912]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  26:     0x7434ed63be2e - rustc_hir_typeck[f7b17b06701b8912]::check::check_fn
  27:     0x7434ede0244b - rustc_hir_typeck[f7b17b06701b8912]::typeck_with_inspect::{closure#0}
  28:     0x7434eddeebb0 - rustc_query_impl[36e6800b9757404d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[36e6800b9757404d]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 8usize]>>
  29:     0x7434ece676ae - rustc_query_system[4eadbad177027a71]::query::plumbing::try_execute_query::<rustc_query_impl[36e6800b9757404d]::DynamicConfig<rustc_data_structures[f798075dc9c9ee18]::vec_cache::VecCache<rustc_span[93f6ac7b0b889bbe]::def_id::LocalDefId, rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4eadbad177027a71]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[36e6800b9757404d]::plumbing::QueryCtxt, false>
  30:     0x7434ece67049 - rustc_query_impl[36e6800b9757404d]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
  31:     0x7434ece6f846 - rustc_hir_analysis[896fe3c446b223d6]::check_crate
  32:     0x7434ed56ec59 - rustc_interface[5344109f4998426e]::passes::analysis
  33:     0x7434ed56e875 - rustc_query_impl[36e6800b9757404d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[36e6800b9757404d]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 0usize]>>
  34:     0x7434edc6fbc8 - rustc_query_system[4eadbad177027a71]::query::plumbing::try_execute_query::<rustc_query_impl[36e6800b9757404d]::DynamicConfig<rustc_query_system[4eadbad177027a71]::query::caches::SingleCache<rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[36e6800b9757404d]::plumbing::QueryCtxt, false>
  35:     0x7434edc6f792 - rustc_query_impl[36e6800b9757404d]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7434ee047f16 - rustc_interface[5344109f4998426e]::passes::create_and_enter_global_ctxt::<core[4727a1a5e2f8bf41]::option::Option<rustc_interface[5344109f4998426e]::queries::Linker>, rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  37:     0x7434edeea125 - rustc_interface[5344109f4998426e]::interface::run_compiler::<(), rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}>::{closure#1}
  38:     0x7434ede366b8 - std[da76efc55aba569b]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[5344109f4998426e]::util::run_in_thread_with_globals<rustc_interface[5344109f4998426e]::util::run_in_thread_pool_with_globals<rustc_interface[5344109f4998426e]::interface::run_compiler<(), rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  39:     0x7434ede36396 - <<std[da76efc55aba569b]::thread::Builder>::spawn_unchecked_<rustc_interface[5344109f4998426e]::util::run_in_thread_with_globals<rustc_interface[5344109f4998426e]::util::run_in_thread_pool_with_globals<rustc_interface[5344109f4998426e]::interface::run_compiler<(), rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[4727a1a5e2f8bf41]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  29:     0x7230e1a676ae - rustc_query_system[4eadbad177027a71]::query::plumbing::try_execute_query::<rustc_query_impl[36e6800b9757404d]::DynamicConfig<rustc_data_structures[f798075dc9c9ee18]::vec_cache::VecCache<rustc_span[93f6ac7b0b889bbe]::def_id::LocalDefId, rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[4eadbad177027a71]::dep_graph::graph::DepNodeIndex>, false, false, false>, rustc_query_impl[36e6800b9757404d]::plumbing::QueryCtxt, false>
  40:     0x7434ede3c385 - std::sys::pal::unix::thread::Thread::new::thread_start::h1ff51d6e85162efd
  41:     0x7434e788aaa4 - <unknown>
  30:     0x7230e1a67049 - rustc_query_impl[36e6800b9757404d]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
  42:     0x7434e7917a34 - clone
  31:     0x7230e1a6f846 - rustc_hir_analysis[896fe3c446b223d6]::check_crate
  43:                0x0 - <unknown>
  32:     0x7230e216ec59 - rustc_interface[5344109f4998426e]::passes::analysis

  33:     0x7230e216e875 - rustc_query_impl[36e6800b9757404d]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[36e6800b9757404d]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 0usize]>>
  34:     0x7230e286fbc8 - rustc_query_system[4eadbad177027a71]::query::plumbing::try_execute_query::<rustc_query_impl[36e6800b9757404d]::DynamicConfig<rustc_query_system[4eadbad177027a71]::query::caches::SingleCache<rustc_middle[e0a019250b2560b5]::query::erase::Erased<[u8; 0usize]>>, false, false, false>, rustc_query_impl[36e6800b9757404d]::plumbing::QueryCtxt, false>
  35:     0x7230e286f792 - rustc_query_impl[36e6800b9757404d]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7230e2c47f16 - rustc_interface[5344109f4998426e]::passes::create_and_enter_global_ctxt::<core[4727a1a5e2f8bf41]::option::Option<rustc_interface[5344109f4998426e]::queries::Linker>, rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
  37:     0x7230e2aea125 - rustc_interface[5344109f4998426e]::interface::run_compiler::<(), rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}>::{closure#1}
  38:     0x7230e2a366b8 - std[da76efc55aba569b]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[5344109f4998426e]::util::run_in_thread_with_globals<rustc_interface[5344109f4998426e]::util::run_in_thread_pool_with_globals<rustc_interface[5344109f4998426e]::interface::run_compiler<(), rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
  39:     0x7230e2a36396 - <<std[da76efc55aba569b]::thread::Builder>::spawn_unchecked_<rustc_interface[5344109f4998426e]::util::run_in_thread_with_globals<rustc_interface[5344109f4998426e]::util::run_in_thread_pool_with_globals<rustc_interface[5344109f4998426e]::interface::run_compiler<(), rustc_driver_impl[aa7064ecaea87566]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[4727a1a5e2f8bf41]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  40:     0x7230e2a3c385 - std::sys::pal::unix::thread::Thread::new::thread_start::h1ff51d6e85162efd
  41:     0x7230dc48aaa4 - <unknown>
  42:     0x7230dc517a34 - clone
  43:                0x0 - <unknown>

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 x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2

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

query stack during panic:
#0 [typeck] type-checking `<impl at src/lib.rs:49:1: 49:71>::empty`
#1 [analysis] running analysis passes on this crate
end of query stack
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 x86_64-unknown-linux-gnu

For more information about this error, try `rustc --explain E0554`.
note: compiler flags: -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2

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

query stack during panic:
#0 [typeck] type-checking `<impl at src/lib.rs:49:1: 49:71>::empty`
#1 [analysis] running analysis passes on this crate
end of query stack

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.F-associated_const_equality`#![feature(associated_const_equality)]`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