rust-lang / rust-lang/rust

ICE on Nightly building project with `generic_const_exprs` and `tokio`

Open
#151,012 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-bug F-generic_const_exprs I-ICE S-needs-repro T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Using generic_const_exprs on Nightly and got a compiler panic when trying to build.

Code

I've tried to minimise the code as much as I can, the error arises with just these files in src/:

main.rs
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]

use anyhow as ah;
use tokio as tk;

use ascendant::*;

fn main() {
    fetch().unwrap();
}

/// THIS LINE GIVES `tk::main: proc-macro not yet built` (DOTTED SUGGESTION)
#[tk::main]
async fn fetch() -> ah::Result<()> {
    /// THESE LINES WEREN'T COMPILING PRE-CRASH ///
    let url = Fetcher::get_puzzle_url::<5>();
    let grids = Fetcher::fetch::<5>(url).await?;

    Ok(())
}
lib.rs
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]

mod grid;    pub use grid::*;
mod fetcher; pub use fetcher::*;
pub mod util;

[rustc-ice-2026-01-12T16_53_14-4848.txt](https://github.com/user-attachments/files/24569822/rustc-ice-2026-01-12T16_53_14-4848.txt)

grid.rs
use crate::*;

pub struct Grid<const N: usize> {
    pub cells: [[u8; N]; N],
}

impl<const N: usize> Grid<N> {
    pub fn construct(data: [[u8; N+2]; N+2]) -> Self {
        Self {
            cells: util::arr(
                data[2..].into_iter().map(|row|
                    util::arr(row[2..].iter().copied())
                )
            ),
        }
    }
}
fetcher.rs
use std::*;

use anyhow as ah;
use chromiumoxide as cr2o3;
use futures::StreamExt;
use tokio as tk;

use crate::*;

type Url = String;


pub struct Fetcher;

impl Fetcher {
    pub fn get_puzzle_url<const N: usize>() -> Url {
        format!("https://website/route?size={}", N)
    }

    pub async fn fetch<const N: usize>(url: Url) -> ah::Result<Grid<N>>
        where [(); N+2]:
    {
        // IRRELEVANT
        let (mut browser, mut handler) = cr2o3::Browser::launch(
            cr2o3::BrowserConfig::builder().with_head().build().map_err(|e| ah::anyhow!(e))?
        ).await?;

        let handle = tk::spawn(async move {
            while let Some(_) = handler.next().await {}
        });

        let page = browser.new_page(url.clone()).await?;

        let grid = page.find_element("table").await?;
        let rows = grid.find_elements("tr").await?;

        /// THIS LINE COULD BE RELEVANT?
        let mut digits = [[0; N+2]; N+2];

        // IRRELEVANT
        for (y, row) in rows.into_iter().enumerate() {
            let cells = row.find_elements("td").await?;

            for (x, cell) in cells.into_iter().enumerate() {
                digits[y][x] = 0;
            }
        }

        /// THIS LINE COULD BE RELEVANT?
        let out = Grid::<N>::construct(digits);

        // IRRELEVANT
        browser.close().await?;
        handle.await?;
        
        Ok(out)
    }
}
util.rs
use std::*;

use arrayvec::ArrayVec;

pub fn arr<I, T, const N: usize>(iter: I) -> [T; N]
    where
        I: IntoIterator<Item = T>,
        T: fmt::Debug
{
    iter.into_iter()
        .collect::<ArrayVec<T, N>>()
        .into_inner()
        .unwrap()
}
Meta

rustc --version --verbose:

rustc 1.94.0-nightly (0aced202c 2026-01-06)
binary: rustc
commit-hash: 0aced202c24f9356c1640fc0a7f07433b3a7124f
commit-date: 2026-01-06
host: x86_64-pc-windows-msvc
release: 1.94.0-nightly
LLVM version: 21.1.8
Error output
thread 'rustc' (24332) panicked at /rustc-dev/0aced202c24f9356c1640fc0a7f07433b3a7124f/compiler\rustc_type_ir\src\binder.rs:784:9:
type parameter `<coroutine_kind>/#1` (<coroutine_kind>/#1/1) out of range when instantiating, args=[5_usize]
Backtrace

stack backtrace:
   0:     0x7fffca03cca2 - std::backtrace_rs::backtrace::win64::trace
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\..\..\backtrace\src\backtrace\win64.rs:85
   1:     0x7fffca03cca2 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7fffca03cca2 - std::sys::backtrace::_print_fmt
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\sys\backtrace.rs:74
   3:     0x7fffca03cca2 - std::sys::backtrace::impl$0::print::impl$0::fmt
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\sys\backtrace.rs:44
   4:     0x7fffca064a31 - core::fmt::write
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\core\src\fmt\mod.rs:0
   5:     0x7fffca04cd94 - std::io::default_write_fmt
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\io\mod.rs:639
   6:     0x7fffca04cd94 - std::io::Write::write_fmt<std::sys::stdio::windows::Stderr>
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\io\mod.rs:1994
   7:     0x7fffca015e9e - std::sys::backtrace::BacktraceLock::print
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\sys\backtrace.rs:47
   8:     0x7fffca015e9e - std::panicking::default_hook::closure$0
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\panicking.rs:292
   9:     0x7fffca02fd57 - std::panicking::default_hook
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\panicking.rs:319
  10:     0x7fffcb80fec5 - core[5e013a057ce18257]::slice::sort::unstable::heapsort::heapsort::<((rustc_lint_defs[39449417448a1bdf]::Level, &str), usize), <((rustc_lint_defs[39449417448a1bdf]::Level, &str), usize) as core[5e013a057ce18257]::cmp::PartialOrd>::lt>
  11:     0x7fffca030061 - std::panicking::panic_with_hook
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\panicking.rs:833
  12:     0x7fffca015f74 - std::panicking::panic_handler::closure$0
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\panicking.rs:698
  13:     0x7fffca0132af - std::sys::backtrace::__rust_end_short_backtrace<std::panicking::panic_handler::closure_env$0,never$>
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\sys\backtrace.rs:182
  14:     0x7fffca016b2e - std::panicking::panic_handler
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\panicking.rs:689
  15:     0x7fffce25c15d - core::panicking::panic_fmt
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\core\src\panicking.rs:80
  16:     0x7fffcde2f4b6 - <rustc_type_ir[8b262486762e15e9]::binder::ArgFolder<rustc_middle[cb27752ae5ccc138]::ty::context::TyCtxt>>::type_param_out_of_range
  17:     0x7fffcb1b72be - <rustc_trait_selection[74cacac6da2f3563]::traits::query::normalize::QueryNormalizer as rustc_type_ir[8b262486762e15e9]::fold::FallibleTypeFolder<rustc_middle[cb27752ae5ccc138]::ty::context::TyCtxt>>::try_fold_ty
  18:     0x7fffcb049744 - RINvNvXsF_Csl1jdowgMAIf_8thin_vecINtB8_8IntoIterpENtNtNtCs84nT5JdeLJP_4core3ops4drop4Drop4drop18drop_non_singletonTINtNtCskZok15lamz7_11rustc_infer6traits10ObligationNtNtNtCshrnQGVbjEl8_12rustc_middle2ty9predicate9PredicateEINtNtBS_6option6OptionINtNtCslcm
  19:     0x7fffcb1b29f8 - <rustc_trait_selection[74cacac6da2f3563]::traits::query::normalize::QueryNormalizer as rustc_type_ir[8b262486762e15e9]::fold::FallibleTypeFolder<rustc_middle[cb27752ae5ccc138]::ty::context::TyCtxt>>::try_fold_ty
  20:     0x7fffcb1b5d5a - <rustc_trait_selection[74cacac6da2f3563]::traits::query::normalize::QueryNormalizer as rustc_type_ir[8b262486762e15e9]::fold::FallibleTypeFolder<rustc_middle[cb27752ae5ccc138]::ty::context::TyCtxt>>::try_fold_ty
  21:     0x7fffcb1b5d4c - <rustc_trait_selection[74cacac6da2f3563]::traits::query::normalize::QueryNormalizer as rustc_type_ir[8b262486762e15e9]::fold::FallibleTypeFolder<rustc_middle[cb27752ae5ccc138]::ty::context::TyCtxt>>::try_fold_ty
  22:     0x7fffcb04ef7f - RINvNvXsF_Csl1jdowgMAIf_8thin_vecINtB8_8IntoIterpENtNtNtCs84nT5JdeLJP_4core3ops4drop4Drop4drop18drop_non_singletonTINtNtCskZok15lamz7_11rustc_infer6traits10ObligationNtNtNtCshrnQGVbjEl8_12rustc_middle2ty9predicate9PredicateEINtNtBS_6option6OptionINtNtCslcm
  23:     0x7fffcd92e28d - <hashbrown[69948f7661cbf9d7]::raw::RawTable<usize>>::reserve_rehash::<indexmap[2bf7bdb009c8e3c7]::map::core::get_hash<rustc_middle[cb27752ae5ccc138]::ty::predicate::Predicate, ()>::{closure#0}>
  24:     0x7fffcb06f2af - RINvNvXsF_Csl1jdowgMAIf_8thin_vecINtB8_8IntoIterpENtNtNtCs84nT5JdeLJP_4core3ops4drop4Drop4drop18drop_non_singletonTINtNtCskZok15lamz7_11rustc_infer6traits10ObligationNtNtNtCshrnQGVbjEl8_12rustc_middle2ty9predicate9PredicateEINtNtBS_6option6OptionINtNtCslcm
  25:     0x7fffcb0af5fe - <rustc_trait_selection[74cacac6da2f3563]::traits::engine::ObligationCtxt<rustc_trait_selection[74cacac6da2f3563]::traits::FulfillmentError>>::new_with_diagnostics
  26:     0x7fffcb1171bf - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  27:     0x7fffcb114073 - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  28:     0x7fffcb11731f - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  29:     0x7fffcb114073 - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  30:     0x7fffcb11731f - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  31:     0x7fffcb114073 - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  32:     0x7fffcb11731f - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  33:     0x7fffcb10fc66 - <rustc_trait_selection[74cacac6da2f3563]::traits::select::SelectionContext>::evaluate_root_obligation
  34:     0x7fffca921289 - rustc_traits[b43bf5d7583cce82]::evaluate_obligation::evaluate_obligation
  35:     0x7fffcae641fe - RINvMs6_NtCslB1gnSBQ12S_9hashbrown3rawINtB6_8RawTableTTNtNtNtCshrnQGVbjEl8_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCshC3eCxGtqWt_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
  36:     0x7fffcaea4add - RINvNtNtCshC3eCxGtqWt_18rustc_query_system5query8plumbing17try_execute_queryINtCschuC2KaU4rv_16rustc_query_impl13DynamicConfigINtNtB4_6caches12DefaultCacheINtNtCsbWGAbRaT4nZ_13rustc_type_ir9canonical19CanonicalQueryInputNtNtNtCshrnQGVbjEl8_12rustc_middle2t
  37:     0x7fffcaf39113 - rustc_query_impl[8f0ed196aa76c55b]::plumbing::query_key_hash_verify_all
  38:     0x7fffcb126166 - rustc_trait_selection[74cacac6da2f3563]::traits::type_known_to_meet_bound_modulo_regions
  39:     0x7fffcad890a5 - rustc_ty_utils[b61d602a58bf9221]::common_traits::is_copy_raw
  40:     0x7fffcae63205 - RINvMs6_NtCslB1gnSBQ12S_9hashbrown3rawINtB6_8RawTableTTNtNtNtCshrnQGVbjEl8_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCshC3eCxGtqWt_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
  41:     0x7fffcafbcad3 - rustc_query_impl[8f0ed196aa76c55b]::plumbing::query_key_hash_verify_all
  42:     0x7fffcaebb1a2 - RINvNtNtCshC3eCxGtqWt_18rustc_query_system5query8plumbing17try_execute_queryINtCschuC2KaU4rv_16rustc_query_impl13DynamicConfigINtNtB4_6caches12DefaultCacheINtNtCshrnQGVbjEl8_12rustc_middle2ty20PseudoCanonicalInputNtB2w_2TyEINtNtNtB2y_5query5erase6ErasedAhj
  43:     0x7fffc9b64129 - rustc_query_impl[8f0ed196aa76c55b]::profiling_support::alloc_self_profile_query_strings
  44:     0x7fffcb658de7 - <rustc_middle[cb27752ae5ccc138]::ty::Ty>::is_freeze
  45:     0x7fffca54e0dc - rustc_mir_transform[c72163235734cd0d]::mir_built
  46:     0x7fffca6459e7 - <rustc_mir_transform[c72163235734cd0d]::copy_prop::CopyProp as rustc_mir_transform[c72163235734cd0d]::pass_manager::MirPass>::run_pass
  47:     0x7fffca542856 - rustc_mir_transform[c72163235734cd0d]::mir_const_qualif
  48:     0x7fffca54077f - rustc_mir_transform[c72163235734cd0d]::optimized_mir
  49:     0x7fffcae63240 - RINvMs6_NtCslB1gnSBQ12S_9hashbrown3rawINtB6_8RawTableTTNtNtNtCshrnQGVbjEl8_12rustc_middle2ty8instance8InstanceNtNtNtBX_3mir4mono14CollectionModeETINtNtNtBX_5query5erase6ErasedAhj20_ENtNtNtCshC3eCxGtqWt_18rustc_query_system9dep_graph5graph12DepNodeIndexEEE1
  50:     0x7fffcae91d28 - RINvNtNtCshC3eCxGtqWt_18rustc_query_system5query8plumbing17try_execute_queryINtCschuC2KaU4rv_16rustc_query_impl13DynamicConfigINtNtB4_6caches10DefIdCacheINtNtNtCshrnQGVbjEl8_12rustc_middle5query5erase6ErasedAhj8_EEKb0_KB3r_KB3r_ENtNtB1f_8plumbing9QueryCtxt
  51:     0x7fffc9a8dc96 - <rustc_lint[7c966b0028cd9004]::builtin::SpecialModuleName as rustc_lint[7c966b0028cd9004]::passes::EarlyLintPass>::check_crate
  52:     0x7fffc9bc5eb6 - rustc_query_impl[8f0ed196aa76c55b]::profiling_support::alloc_self_profile_query_strings
  53:     0x7fffcae4b838 - RINvCsk9yyefPuayT_21rustc_data_structures7outlineNCINvMs3_NtNtCshC3eCxGtqWt_18rustc_query_system9dep_graph5graphINtBU_12DepGraphDataNtNtCshrnQGVbjEl8_12rustc_middle9dep_graph8DepsTypeE52assert_dep_node_not_yet_allocated_in_current_sessionNtNtCs44W5hUKnZEI_
  54:     0x7fffcaef3a82 - RINvNtNtCshC3eCxGtqWt_18rustc_query_system5query8plumbing17try_execute_queryINtCschuC2KaU4rv_16rustc_query_impl13DynamicConfigINtNtB4_6caches12DefaultCacheTNtNtNtCshrnQGVbjEl8_12rustc_middle2ty8instance8InstanceNtNtNtB2A_3mir4mono14CollectionModeEINtNtNtB2
  55:     0x7fffcaf37b85 - rustc_query_impl[8f0ed196aa76c55b]::plumbing::query_key_hash_verify_all
  56:     0x7fffca496db0 - RINvNtNtNtNtCs84nT5JdeLJP_4core5slice4sort6stable9quicksort9quicksortTRNtNtNtCshrnQGVbjEl8_12rustc_middle3mir4mono8MonoItemNtNtB1d_2ty10SymbolNameENCINvMNtCs44W5hUKnZEI_5alloc5sliceSB15_11sort_by_keyB1X_NCINvNtCsjaIpKvNxlKi_18rustc_monomorphize12partitioni
  57:     0x7fffca4ab431 - rustc_monomorphize[df51673f03bedeb4]::partitioning::collect_and_partition_mono_items
  58:     0x7fffca4af5e4 - rustc_monomorphize[df51673f03bedeb4]::partitioning::collect_and_partition_mono_items
  59:     0x7fffc983b18f - RINvNtNtNtNtCs84nT5JdeLJP_4core5slice4sort6stable9quicksort9quicksortNtNtNtCshrnQGVbjEl8_12rustc_middle3mir4mono11CodegenUnitNCINvMNtCs44W5hUKnZEI_5alloc5sliceSB15_7sort_byNCNvNtCsjaIpKvNxlKi_18rustc_monomorphize12partitioning19merge_codegen_unitss4_0E0EB2
  60:     0x7fffca49e418 - rustc_monomorphize[df51673f03bedeb4]::partitioning::collect_and_partition_mono_items
  61:     0x7fffc9a95b77 - <rustc_lint[7c966b0028cd9004]::builtin::SpecialModuleName as rustc_lint[7c966b0028cd9004]::passes::EarlyLintPass>::check_crate
  62:     0x7fffc9be3a0d - rustc_query_impl[8f0ed196aa76c55b]::profiling_support::alloc_self_profile_query_strings
  63:     0x7fffc9aa562a - RINvNtNtCshC3eCxGtqWt_18rustc_query_system5query8plumbing17try_execute_queryINtCschuC2KaU4rv_16rustc_query_impl13DynamicConfigINtNtB4_6caches11SingleCacheINtNtNtCshrnQGVbjEl8_12rustc_middle5query5erase6ErasedAhj18_EEKb0_KB3t_KB3t_ENtNtB1f_8plumbing9QueryCt
  64:     0x7fffcd732c93 - <alloc[2f849778b80e71ba]::sync::Arc<rustc_session[4405c24221e6aae4]::cstore::CrateSource>>::drop_slow
  65:     0x7fffc76488b6 - rustc_interface[ce5880c7cbcb52b4]::interface::parse_cfg
  66:     0x7fffc76af2ae - <rustc_codegen_llvm[b524f2baa8dfe82b]::LlvmCodegenBackend as rustc_codegen_ssa[36e97328def15aeb]::traits::backend::CodegenBackend>::codegen_crate
  67:     0x7fffc761140c - <rustc_interface[ce5880c7cbcb52b4]::queries::Linker>::codegen_and_build_linker
  68:     0x7fffc75bbfce - std[b7a92b440a448066]::sys::backtrace::__rust_begin_short_backtrace::<std[b7a92b440a448066]::thread::lifecycle::spawn_unchecked<ctrlc[c739cdff6a06eb90]::set_handler_inner<rustc_driver_impl[24aae8d30d4db449]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
  69:     0x7fffc75b45cf - RINvNtNtCsfLCzNyI7woc_3std3sys9backtrace28___rust_begin_short_backtraceNCNCINvNtCshIn9lulT20i_15rustc_interface4util26run_in_thread_with_globalsNCINvB1e_31run_in_thread_pool_with_globalsNCINvNtB1g_9interface12run_compileruNCNvCs39bdcMlkK5F_17rustc_driver_i
  70:     0x7fffc75c2879 - std[b7a92b440a448066]::sys::backtrace::__rust_begin_short_backtrace::<std[b7a92b440a448066]::thread::lifecycle::spawn_unchecked<ctrlc[c739cdff6a06eb90]::set_handler_inner<rustc_driver_impl[24aae8d30d4db449]::install_ctrlc_handler::{closure#0}>::{closure#0}, ()>::{closure#1}::{closure#0}::{closure#0}, ()>
  71:     0x7fffca03a1b8 - std::sys::thread::windows::impl$0::new::thread_start
                               at /rustc/0aced202c24f9356c1640fc0a7f07433b3a7124f/library\std\src\sys\thread\windows.rs:58
  72:     0x7ff8bdfce8d7 - BaseThreadInitThunk
  73:     0x7ff8beccc53c - RtlUserThreadStart

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 `C:\~

[rustc-ice-2026-01-12T16_53_14-4848.txt](https://github.com/user-attachments/files/24569762/rustc-ice-2026-01-12T16_53_14-4848.txt)

\ascendant\rustc-ice-2026-01-12T16_53_14-4848.txt` to your bug report

note: rustc 1.94.0-nightly (0aced202c 2026-01-06) running on x86_64-pc-windows-msvc

note: compiler flags: --crate-type bin -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 [evaluate_obligation] evaluating trait selection obligation `{async block@src\main.rs:45:1: 45:12}: core::marker::Freeze`
#1 [is_freeze_raw] computing whether `{async block@src\main.rs:45:1: 45:12}` is freeze
... and 3 other queries... use `env RUST_BACKTRACE=1` to see the full query stack
there was a panic while trying to force a dep node
try_mark_green dep node stack:
#0 items_of_instance(976ab02d453d2a3-75da5ee6bf3b313e)
end of try_mark_green dep node stack
warning: `ascendant` (bin "ascendant") generated 1 warning (run `cargo fix --bin "ascendant" -p ascendant` to apply 1 suggestion)
error: could not compile `ascendant` (bin "ascendant"); 1 warning emitted

Caused by:
  process didn't exit successfully: `C:\Users\sup\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\bin\rustc.exe --crate-name ascendant --edition=2024 src\main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=147 --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --check-cfg cfg(docsrs,test) --check-cfg "cfg(feature, values())" -C metadata=23426289d0239fa1 --out-dir C:\~\ascendant\target\debug\deps -C incremental=C:\~\ascendant\target\debug\incremental -L dependency=C:\~\ascendant\target\debug\deps --extern anyhow=C:\~\ascendant\target\debug\deps\libanyhow-203daeac6375a518.rlib --extern arrayvec=C:\~\ascendant\target\debug\deps\libarrayvec-57fa88b3ca821eba.rlib --extern ascendant=C:\~\ascendant\target\debug\deps\libascendant-f91a2b953bb8a3e0.rlib --extern chromiumoxide=C:\~\ascendant\target\debug\deps\libchromiumoxide-db1ea85f799d9c95.rlib --extern futures=C:\~\ascendant\target\debug\deps\libfutures-fade23ebb5ef787d.rlib --extern itertools=C:\~\ascendant\target\debug\deps\libitertools-49f8ea6c1467d966.rlib --extern tokio=C:\~\ascendant\target\debug\deps\libtokio-69f6c6cb402c8b5b.rlib -L native=C:\Users\sup\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\windows_x86_64_msvc-0.53.1\lib` (exit code: 101)

(C:\~\ascendant\ is my project directory)

Other Notes
  • Before this crash I was receiving some errors around overflow evaluating the requirement [(); ascendant::::puzzle::Grid::{constant#0}] well-formed, presumably due to the N+2 constraints, wonder if that's related?
  • At the start of this project when I enabled Nightly for const_generic_exprs, I could no longer cargo run (I could cargo build, then eventually I couldn't that either) due to issues with the MSVC linker. I installed both C++ and Windows 11 SDK from Visual Studio Installer, which didn't fix the issue, but in the a Windows Powershell launched by pressing "Launch" on Visual Studio Build Tools 2019, everything worked as expected. Don't know if this strange terminal environment might have an impact on anything.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the ICE from the supplied src/main.rs, grid.rs, fetcher.rs, and util.rs files using the reported Nightly toolchain. Start at the panic in compiler/rustc_type_ir/src/binder.rs:784 and trace the generic_const_exprs and async compilation path; done means the minimized project no longer causes rustc to panic and the regression is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.