Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ice: calling const FnDef errored when it shouldn't #117795

Open
matthiaskrgr opened this issue Nov 10, 2023 · 1 comment
Open

ice: calling const FnDef errored when it shouldn't #117795

matthiaskrgr opened this issue Nov 10, 2023 · 1 comment
Labels
A-const-eval Area: constant evaluation (mir interpretation) C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

auto-reduced (treereduce-rust):

const fn f() -> usize {
    5
}

fn main() {
    let _ = [0; FnMut::call_mut(&mut f, ())];
}

original:

// run-pass
#![allow(dead_code)]
const fn f() -> usize {
    5
}
struct A {
    field: usize,
}
fn main() {
    let _ = [0; FnMut::call_mut(&mut f, ())];
}

Version information

rustc 1.75.0-nightly (17d0a45f5 2023-11-10)
binary: rustc
commit-hash: 17d0a45f5df31f218b84c3275bb05c3227348b5b
commit-date: 2023-11-10
host: x86_64-unknown-linux-gnu
release: 1.75.0-nightly
LLVM version: 17.0.4

Command:
/home/matthias/.rustup/toolchains/master/bin/rustc

Program output

error[E0658]: use of unstable library feature 'fn_traits'
 --> /tmp/icemaker_global_tempdir.5VaVqo1AvwQO/rustc_testrunner_tmpdir_reporting.KbLiqxBwHKYO/mvce.rs:6:17
  |
6 |     let _ = [0; FnMut::call_mut(&mut f, ())];
  |                 ^^^^^^^^^^^^^^^
  |
  = note: see issue #29625 <https://github.com/rust-lang/rust/issues/29625> for more information
  = help: add `#![feature(fn_traits)]` to the crate attributes to enable

error[E0658]: mutable references are not allowed in constants
 --> /tmp/icemaker_global_tempdir.5VaVqo1AvwQO/rustc_testrunner_tmpdir_reporting.KbLiqxBwHKYO/mvce.rs:6:33
  |
6 |     let _ = [0; FnMut::call_mut(&mut f, ())];
  |                                 ^^^^^^
  |
  = note: see issue #57349 <https://github.com/rust-lang/rust/issues/57349> for more information
  = help: add `#![feature(const_mut_refs)]` to the crate attributes to enable

error: internal compiler error: compiler/rustc_const_eval/src/transform/check_consts/ops.rs:202:29: calling const FnDef errored when it shouldn't
 --> /tmp/icemaker_global_tempdir.5VaVqo1AvwQO/rustc_testrunner_tmpdir_reporting.KbLiqxBwHKYO/mvce.rs:1:1
  |
1 | const fn f() -> usize {
  | ^^^^^^^^^^^^^^^^^^^^^

thread 'rustc' panicked at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/compiler/rustc_errors/src/lib.rs:1000:33:
Box<dyn Any>
stack backtrace:
   0:     0x7fae69f8b62c - std::backtrace_rs::backtrace::libunwind::trace::h46374b84341786bc
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x7fae69f8b62c - std::backtrace_rs::backtrace::trace_unsynchronized::he7815f30c698ee16
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fae69f8b62c - std::sys_common::backtrace::_print_fmt::hf3ac027a6e20df81
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7fae69f8b62c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6350b6493143b1fc
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fae69fde630 - core::fmt::rt::Argument::fmt::haac38874886df8e7
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/core/src/fmt/rt.rs:142:9
   5:     0x7fae69fde630 - core::fmt::write::hf0e822b6d8ad56b2
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/core/src/fmt/mod.rs:1120:17
   6:     0x7fae69f7f54f - std::io::Write::write_fmt::h1a44df357aa13b6e
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/io/mod.rs:1762:15
   7:     0x7fae69f8b414 - std::sys_common::backtrace::_print::h95329df2b370286a
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x7fae69f8b414 - std::sys_common::backtrace::print::hd1549e5974c3fa44
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x7fae69f8e0a7 - std::panicking::default_hook::{{closure}}::hfc23d70499246b08
  10:     0x7fae69f8de0f - std::panicking::default_hook::h0d66df0a095a3bd0
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/panicking.rs:292:9
  11:     0x7fae6ccee150 - std[4df474cf7c0204ae]::panicking::update_hook::<alloc[ca626be192fcf572]::boxed::Box<rustc_driver_impl[ec4025a53c2103e9]::install_ice_hook::{closure#0}>>::{closure#0}
  12:     0x7fae69f8e7e8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h44f7f870300bcc1d
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/alloc/src/boxed.rs:2021:9
  13:     0x7fae69f8e7e8 - std::panicking::rust_panic_with_hook::h652875067b2fe609
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/panicking.rs:783:13
  14:     0x7fae6cc7c644 - std[4df474cf7c0204ae]::panicking::begin_panic::<rustc_errors[1bc87cf102603fe6]::ExplicitBug>::{closure#0}
  15:     0x7fae6cc6d896 - std[4df474cf7c0204ae]::sys_common::backtrace::__rust_end_short_backtrace::<std[4df474cf7c0204ae]::panicking::begin_panic<rustc_errors[1bc87cf102603fe6]::ExplicitBug>::{closure#0}, !>
  16:     0x7fae6cc680c6 - std[4df474cf7c0204ae]::panicking::begin_panic::<rustc_errors[1bc87cf102603fe6]::ExplicitBug>
  17:     0x7fae6cc6396e - <rustc_errors[1bc87cf102603fe6]::HandlerInner>::span_bug::<rustc_span[9afbaaf51cc05e3]::span_encoding::Span, alloc[ca626be192fcf572]::string::String>
  18:     0x7fae6cc5e428 - <rustc_errors[1bc87cf102603fe6]::Handler>::span_bug::<rustc_span[9afbaaf51cc05e3]::span_encoding::Span, alloc[ca626be192fcf572]::string::String>
  19:     0x7fae6cc7c78b - rustc_middle[dadee63cb0feb6d5]::util::bug::opt_span_bug_fmt::<rustc_span[9afbaaf51cc05e3]::span_encoding::Span>::{closure#0}
  20:     0x7fae6cc7c9aa - rustc_middle[dadee63cb0feb6d5]::ty::context::tls::with_opt::<rustc_middle[dadee63cb0feb6d5]::util::bug::opt_span_bug_fmt<rustc_span[9afbaaf51cc05e3]::span_encoding::Span>::{closure#0}, !>::{closure#0}
  21:     0x7fae6cc748e8 - rustc_middle[dadee63cb0feb6d5]::ty::context::tls::with_context_opt::<rustc_middle[dadee63cb0feb6d5]::ty::context::tls::with_opt<rustc_middle[dadee63cb0feb6d5]::util::bug::opt_span_bug_fmt<rustc_span[9afbaaf51cc05e3]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
  22:     0x7fae6c0707e4 - rustc_middle[dadee63cb0feb6d5]::util::bug::span_bug_fmt::<rustc_span[9afbaaf51cc05e3]::span_encoding::Span>
  23:     0x7fae6ccb406e - <rustc_const_eval[9c84324ae0dfb81]::transform::check_consts::ops::FnCallNonConst as rustc_const_eval[9c84324ae0dfb81]::transform::check_consts::ops::NonConstOp>::build_error
  24:     0x7fae6ccaed32 - <rustc_const_eval[9c84324ae0dfb81]::transform::check_consts::check::Checker>::check_op_spanned::<rustc_const_eval[9c84324ae0dfb81]::transform::check_consts::ops::FnCallNonConst>
  25:     0x7fae6eea937e - <rustc_const_eval[9c84324ae0dfb81]::transform::check_consts::check::Checker as rustc_middle[dadee63cb0feb6d5]::mir::visit::Visitor>::visit_terminator
  26:     0x7fae6c23e78f - <rustc_const_eval[9c84324ae0dfb81]::transform::check_consts::check::Checker as rustc_middle[dadee63cb0feb6d5]::mir::visit::Visitor>::visit_basic_block_data
  27:     0x7fae6ea269b7 - <rustc_const_eval[9c84324ae0dfb81]::transform::check_consts::check::Checker>::check_body
  28:     0x7fae6ea2767c - rustc_mir_transform[68e77d7196a8ecec]::mir_const_qualif
  29:     0x7fae6ea2754b - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::mir_const_qualif::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 5usize]>>
  30:     0x7fae6ea25c30 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_span[9afbaaf51cc05e3]::def_id::DefId, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 5usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  31:     0x7fae6ea25996 - rustc_query_impl[d9d242dab8718f47]::query_impl::mir_const_qualif::get_query_non_incr::__rust_end_short_backtrace
  32:     0x7fae6c26c39d - rustc_mir_transform[68e77d7196a8ecec]::mir_promoted
  33:     0x7fae6e4e3092 - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::mir_promoted::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 16usize]>>
  34:     0x7fae6e4e3345 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::VecCache<rustc_span[9afbaaf51cc05e3]::def_id::LocalDefId, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  35:     0x7fae6e4e2f93 - rustc_query_impl[d9d242dab8718f47]::query_impl::mir_promoted::get_query_non_incr::__rust_end_short_backtrace
  36:     0x7fae6ee1ffcb - rustc_borrowck[44740cb65e3b9e2a]::mir_borrowck
  37:     0x7fae6ee1ff17 - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::mir_borrowck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>
  38:     0x7fae6e0e2083 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::VecCache<rustc_span[9afbaaf51cc05e3]::def_id::LocalDefId, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  39:     0x7fae6e0e1c50 - rustc_query_impl[d9d242dab8718f47]::query_impl::mir_borrowck::get_query_non_incr::__rust_end_short_backtrace
  40:     0x7fae6b8f375b - rustc_mir_transform[68e77d7196a8ecec]::mir_drops_elaborated_and_const_checked
  41:     0x7fae6e0e1df5 - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::mir_drops_elaborated_and_const_checked::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>
  42:     0x7fae6e0e2083 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::VecCache<rustc_span[9afbaaf51cc05e3]::def_id::LocalDefId, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  43:     0x7fae6e0e1950 - rustc_query_impl[d9d242dab8718f47]::query_impl::mir_drops_elaborated_and_const_checked::get_query_non_incr::__rust_end_short_backtrace
  44:     0x7fae6e0e18a3 - rustc_middle[dadee63cb0feb6d5]::query::plumbing::query_get_at::<rustc_query_system[6b6f1c30493de844]::query::caches::VecCache<rustc_span[9afbaaf51cc05e3]::def_id::LocalDefId, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>>
  45:     0x7fae6e8fc54d - rustc_mir_transform[68e77d7196a8ecec]::mir_for_ctfe
  46:     0x7fae6e0541b7 - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::mir_for_ctfe::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>
  47:     0x7fae6e0531d4 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_span[9afbaaf51cc05e3]::def_id::DefId, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  48:     0x7fae6eeaaa1e - rustc_query_impl[d9d242dab8718f47]::query_impl::mir_for_ctfe::get_query_non_incr::__rust_end_short_backtrace
  49:     0x7fae6eeaad27 - rustc_const_eval[9c84324ae0dfb81]::const_eval::eval_queries::eval_in_interpreter
  50:     0x7fae6eeaa89b - rustc_const_eval[9c84324ae0dfb81]::const_eval::eval_queries::eval_to_allocation_raw_provider
  51:     0x7fae6eeaa73a - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>
  52:     0x7fae6e7eb10b - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  53:     0x7fae6e7eaaf0 - rustc_query_impl[d9d242dab8718f47]::query_impl::eval_to_allocation_raw::get_query_non_incr::__rust_end_short_backtrace
  54:     0x7fae6e7ea7a6 - rustc_middle[dadee63cb0feb6d5]::query::plumbing::query_get_at::<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>>
  55:     0x7fae6eeaa8fc - rustc_const_eval[9c84324ae0dfb81]::const_eval::eval_queries::eval_to_allocation_raw_provider
  56:     0x7fae6eeaa73a - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::eval_to_allocation_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>
  57:     0x7fae6e7eb10b - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  58:     0x7fae6e7eaaf0 - rustc_query_impl[d9d242dab8718f47]::query_impl::eval_to_allocation_raw::get_query_non_incr::__rust_end_short_backtrace
  59:     0x7fae6e7ea7a6 - rustc_middle[dadee63cb0feb6d5]::query::plumbing::query_get_at::<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>>
  60:     0x7fae6e7e9ee7 - rustc_const_eval[9c84324ae0dfb81]::const_eval::eval_to_valtree
  61:     0x7fae6e7e9e62 - <rustc_const_eval[9c84324ae0dfb81]::provide::{closure#0} as core[f248d18e5721e18e]::ops::function::FnOnce<(rustc_middle[dadee63cb0feb6d5]::ty::context::TyCtxt, rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>)>>::call_once
  62:     0x7fae6e7e9e36 - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::eval_to_valtree::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>
  63:     0x7fae6e7e9def - <rustc_query_impl[d9d242dab8718f47]::query_impl::eval_to_valtree::dynamic_query::{closure#2} as core[f248d18e5721e18e]::ops::function::FnOnce<(rustc_middle[dadee63cb0feb6d5]::ty::context::TyCtxt, rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>)>>::call_once
  64:     0x7fae6e7eb127 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  65:     0x7fae6e7ea9f0 - rustc_query_impl[d9d242dab8718f47]::query_impl::eval_to_valtree::get_query_non_incr::__rust_end_short_backtrace
  66:     0x7fae6e623502 - rustc_middle[dadee63cb0feb6d5]::query::plumbing::query_get_at::<rustc_query_system[6b6f1c30493de844]::query::caches::DefaultCache<rustc_middle[dadee63cb0feb6d5]::ty::ParamEnvAnd<rustc_middle[dadee63cb0feb6d5]::mir::interpret::GlobalId>, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 24usize]>>>
  67:     0x7fae6e622427 - <rustc_middle[dadee63cb0feb6d5]::ty::context::TyCtxt>::const_eval_resolve_for_typeck
  68:     0x7fae6e6220d1 - <rustc_middle[dadee63cb0feb6d5]::ty::consts::Const>::eval
  69:     0x7fae6e621a41 - <rustc_trait_selection[9cfc1fff52b512e0]::traits::project::AssocTypeNormalizer as rustc_type_ir[9ef93a72d85a2d6e]::fold::TypeFolder<rustc_middle[dadee63cb0feb6d5]::ty::context::TyCtxt>>::fold_const
  70:     0x7fae6e185ea8 - rustc_trait_selection[9cfc1fff52b512e0]::traits::project::normalize_with_depth_to::<rustc_middle[dadee63cb0feb6d5]::ty::consts::Const>::{closure#0}
  71:     0x7fae6ef7467c - <rustc_hir_typeck[deb2b7c27d72619c]::fn_ctxt::FnCtxt>::array_length_to_const
  72:     0x7fae6eaf48e2 - <rustc_hir_typeck[deb2b7c27d72619c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  73:     0x7fae6e5b61ad - <rustc_hir_typeck[deb2b7c27d72619c]::fn_ctxt::FnCtxt>::check_decl
  74:     0x7fae6e5b3905 - <rustc_hir_typeck[deb2b7c27d72619c]::fn_ctxt::FnCtxt>::check_block_with_expected
  75:     0x7fae6eaf0174 - <rustc_hir_typeck[deb2b7c27d72619c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  76:     0x7fae6e79fcaf - rustc_hir_typeck[deb2b7c27d72619c]::check::check_fn
  77:     0x7fae6e322429 - rustc_hir_typeck[deb2b7c27d72619c]::typeck
  78:     0x7fae6e321813 - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>
  79:     0x7fae6e0e2083 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::VecCache<rustc_span[9afbaaf51cc05e3]::def_id::LocalDefId, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  80:     0x7fae6e0e1d10 - rustc_query_impl[d9d242dab8718f47]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
  81:     0x7fae6e5ce980 - rustc_hir_analysis[3fdc3bc95e806e7]::check_crate
  82:     0x7fae6e3aa8d7 - rustc_interface[b3bf249fff60da9a]::passes::analysis
  83:     0x7fae6e3aa537 - rustc_query_impl[d9d242dab8718f47]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[d9d242dab8718f47]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 1usize]>>
  84:     0x7fae6ef98824 - rustc_query_system[6b6f1c30493de844]::query::plumbing::try_execute_query::<rustc_query_impl[d9d242dab8718f47]::DynamicConfig<rustc_query_system[6b6f1c30493de844]::query::caches::SingleCache<rustc_middle[dadee63cb0feb6d5]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[d9d242dab8718f47]::plumbing::QueryCtxt, false>
  85:     0x7fae6ef98615 - rustc_query_impl[d9d242dab8718f47]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
  86:     0x7fae6efa123f - rustc_interface[b3bf249fff60da9a]::interface::run_compiler::<core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>, rustc_driver_impl[ec4025a53c2103e9]::run_compiler::{closure#1}>::{closure#0}
  87:     0x7fae6efa855a - std[4df474cf7c0204ae]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b3bf249fff60da9a]::util::run_in_thread_with_globals<rustc_interface[b3bf249fff60da9a]::util::run_in_thread_pool_with_globals<rustc_interface[b3bf249fff60da9a]::interface::run_compiler<core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>, rustc_driver_impl[ec4025a53c2103e9]::run_compiler::{closure#1}>::{closure#0}, core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>>::{closure#0}, core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>>
  88:     0x7fae6efa8383 - <<std[4df474cf7c0204ae]::thread::Builder>::spawn_unchecked_<rustc_interface[b3bf249fff60da9a]::util::run_in_thread_with_globals<rustc_interface[b3bf249fff60da9a]::util::run_in_thread_pool_with_globals<rustc_interface[b3bf249fff60da9a]::interface::run_compiler<core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>, rustc_driver_impl[ec4025a53c2103e9]::run_compiler::{closure#1}>::{closure#0}, core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>>::{closure#0}, core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[f248d18e5721e18e]::result::Result<(), rustc_span[9afbaaf51cc05e3]::ErrorGuaranteed>>::{closure#1} as core[f248d18e5721e18e]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  89:     0x7fae69f986a5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h473dfddbf197f5bf
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/alloc/src/boxed.rs:2007:9
  90:     0x7fae69f986a5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h8959fbdf8cbf8098
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/alloc/src/boxed.rs:2007:9
  91:     0x7fae69f986a5 - std::sys::unix::thread::Thread::new::thread_start::hab410919d7ef6e45
                               at /rustc/17d0a45f5df31f218b84c3275bb05c3227348b5b/library/std/src/sys/unix/thread.rs:108:17
  92:     0x7fae69d4f9eb - <unknown>
  93:     0x7fae69dd37cc - <unknown>
  94:                0x0 - <unknown>

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.75.0-nightly (17d0a45f5 2023-11-10) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [mir_const_qualif] const checking `main::{constant#0}`
#1 [mir_promoted] promoting constants in MIR for `main::{constant#0}`
#2 [mir_borrowck] borrow-checking `main::{constant#0}`
#3 [mir_drops_elaborated_and_const_checked] elaborating drops for `main::{constant#0}`
#4 [mir_for_ctfe] caching mir of `main::{constant#0}` for CTFE
#5 [eval_to_allocation_raw] const-evaluating + checking `main::{constant#0}`
#6 [eval_to_allocation_raw] const-evaluating + checking `main::{constant#0}`
#7 [eval_to_valtree] evaluating type-level constant
#8 [typeck] type-checking `main`
#9 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0658`.

@matthiaskrgr matthiaskrgr added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. C-bug Category: This is a bug. labels Nov 10, 2023
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Nov 10, 2023
@matthiaskrgr
Copy link
Member Author

Regression in nightly-2022-02-14
found 11 bors merge commits in the specified range
commit[0] 2022-02-12: Auto merge of #93939 - RalfJung:miri, r=RalfJung
commit[1] 2022-02-12: Auto merge of #91403 - cjgillot:inherit-async, r=oli-obk
commit[2] 2022-02-13: Auto merge of #93670 - erikdesjardins:noundef, r=nikic
commit[3] 2022-02-13: Auto merge of #93696 - Amanieu:compiler-builtins-0.1.68, r=Mark-Simulacrum
commit[4] 2022-02-13: Auto merge of #93713 - klensy:deps-up, r=Mark-Simulacrum
commit[5] 2022-02-13: Auto merge of #93956 - matthiaskrgr:rollup-zfk35hb, r=matthiaskrgr
commit[6] 2022-02-13: Auto merge of #93763 - jsha:re-space-empty-impls, r=GuillaumeGomez
commit[7] 2022-02-13: Auto merge of #91673 - ChrisDenton:path-absolute, r=Mark-Simulacrum
commit[8] 2022-02-13: Auto merge of #93685 - Mark-Simulacrum:drop-time, r=Mark-Simulacrum
commit[9] 2022-02-13: Auto merge of #93837 - nikic:arm-update, r=Mark-Simulacrum
commit[10] 2022-02-13: Auto merge of #83822 - petrochenkov:linkandro, r=davidtwco
ERROR: no CI builds available between 5d8767c and 1e12aef within last 167 days

@matthiaskrgr matthiaskrgr added the A-const-eval Area: constant evaluation (mir interpretation) label Nov 11, 2023
@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Nov 18, 2023
@matthiaskrgr matthiaskrgr added the S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. label Apr 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-const-eval Area: constant evaluation (mir interpretation) C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ S-bug-has-test Status: This bug is tracked inside the repo by a `known-bug` test. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants