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

Compiler error that only occurs occasionally #97858

Closed
kkaatii opened this issue Jun 8, 2022 · 5 comments
Closed

Compiler error that only occurs occasionally #97858

kkaatii opened this issue Jun 8, 2022 · 5 comments
Labels
A-incr-comp Area: Incremental compilation C-bug Category: This is a bug. 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.

Comments

@kkaatii
Copy link

kkaatii commented Jun 8, 2022

Note that the below error cannot be repeated by myself anymore...I tried minimizing the bug but then it disappeared and even after reverting back to the original troublesome code cargo no longer complains.

Code

use std::error::Error;
use hyper::{http::Method, Body, Request, Response};

async fn process(req: Request<Body>) -> Result<Response<Body>, Box<dyn Error + Send + Sync>> {
    let session = req
        .headers()
        .get("session")
        .map(|v| v.as_bytes())
        .unwrap_or(&[]);
    let dest = (req.method(), req.uri().path()).into();
    if authorized(session, &dest) {
        match dest {
            Dest::ECHO => {
                Ok(Response::new(req.into_body()))
            }
            Dest(_, _) => Ok(Response::new(Body::empty()))
        }
    } else {
        Err(format!("Unauthorized access to {dest:?}").into())
    }
}

pub(crate) fn authorized(_session: &[u8], dest: &Dest) -> bool {
    match *dest {
        Dest::ECHO | Dest::PLAYER_CREATE => return true,
        _ => {}
    }
    false
}

#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub(crate) struct Dest<'a>(&'a Method, &'a str);

impl<'a> From<(&'a Method, &'a str)> for Dest<'a> {
    fn from(tuple: (&'a Method, &'a str)) -> Self {
        Dest(tuple.0, tuple.1)
    }
}

impl<'a> Dest<'a> {
    pub const ECHO: Self = Dest(&Method::POST, "/echo");
    pub const PLAYER_CREATE: Self = Dest(&Method::POST, "/player/create");
}

Meta

rustc --version --verbose:

rustc 1.61.0 (fe5b13d68 2022-05-18)
binary: rustc
commit-hash: fe5b13d681f25ee6474be29d748c65adcd91f69e
commit-date: 2022-05-18
host: x86_64-apple-darwin
release: 1.61.0
LLVM version: 14.0.0

Error output

thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, value: Const { ty: &hyper::Method, val: Value(Scalar(alloc90)) } }
- dep-node: deref_const(d496ad5959ba647-6df8c3a57cdd01b5)', /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e/compiler/rustc_query_system/src/dep_graph/graph.rs:300:9
Backtrace

stack backtrace:
   0: _rust_begin_unwind
   1: core::panicking::panic_fmt
   2: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::consts::Const>, rustc_middle::ty::consts::Const>
   3: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::ParamEnvAnd<rustc_middle::ty::consts::Const>, rustc_middle::ty::consts::Const>>
   4: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::deref_const, rustc_query_impl::plumbing::QueryCtxt>
   5: <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::recur
   6: <core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>> as core::iter::traits::iterator::Iterator>::try_fold::<(), <core::iter::adapters::enumerate::Enumerate<_> as core::iter::traits::iterator::Iterator>::try_fold::enumerate<rustc_middle::ty::consts::Const, (), core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<rustc_middle::thir::FieldPat>>, core::iter::adapters::map::map_try_fold<(usize, rustc_middle::ty::consts::Const), core::result::Result<rustc_middle::thir::FieldPat, rustc_mir_build::thir::pattern::const_to_pat::fallback_to_const_ref::FallbackToConstRef>, (), core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<rustc_middle::thir::FieldPat>>, <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::field_pats<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>::{closure#0}, <core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>, <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::field_pats<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>::{closure#0}>, core::result::Result<core::convert::Infallible, rustc_mir_build::thir::pattern::const_to_pat::fallback_to_const_ref::FallbackToConstRef>> as core::iter::traits::iterator::Iterator>::try_fold<(), core::iter::traits::iterator::Iterator::try_for_each::call<rustc_middle::thir::FieldPat, core::ops::control_flow::ControlFlow<rustc_middle::thir::FieldPat>, core::ops::control_flow::ControlFlow<rustc_middle::thir::FieldPat>::Break>::{closure#0}, core::ops::control_flow::ControlFlow<rustc_middle::thir::FieldPat>>::{closure#0}>::{closure#0}>::{closure#0}, core::ops::control_flow::ControlFlow<core::ops::control_flow::ControlFlow<rustc_middle::thir::FieldPat>>>
   7: <alloc::vec::Vec<rustc_middle::thir::FieldPat> as alloc::vec::spec_from_iter::SpecFromIter<rustc_middle::thir::FieldPat, core::iter::adapters::GenericShunt<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>, <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::field_pats<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>::{closure#0}>, core::result::Result<core::convert::Infallible, rustc_mir_build::thir::pattern::const_to_pat::fallback_to_const_ref::FallbackToConstRef>>>>::from_iter
   8: core::iter::adapters::try_process::<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>, <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::field_pats<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>::{closure#0}>, rustc_middle::thir::FieldPat, core::result::Result<core::convert::Infallible, rustc_mir_build::thir::pattern::const_to_pat::fallback_to_const_ref::FallbackToConstRef>, <core::result::Result<alloc::vec::Vec<rustc_middle::thir::FieldPat>, rustc_mir_build::thir::pattern::const_to_pat::fallback_to_const_ref::FallbackToConstRef> as core::iter::traits::collect::FromIterator<core::result::Result<rustc_middle::thir::FieldPat, rustc_mir_build::thir::pattern::const_to_pat::fallback_to_const_ref::FallbackToConstRef>>>::from_iter<core::iter::adapters::map::Map<core::iter::adapters::enumerate::Enumerate<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>, <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::field_pats<core::iter::adapters::copied::Copied<core::slice::iter::Iter<rustc_middle::ty::consts::Const>>>::{closure#0}>>::{closure#0}, alloc::vec::Vec<rustc_middle::thir::FieldPat>>
   9: <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::recur
  10: <rustc_mir_build::thir::pattern::const_to_pat::ConstToPat>::to_pat
  11: <rustc_infer::infer::InferCtxtBuilder>::enter::<rustc_middle::thir::Pat, <rustc_mir_build::thir::pattern::PatCtxt>::const_to_pat::{closure#0}>
  12: <rustc_mir_build::thir::pattern::PatCtxt>::const_to_pat
  13: <rustc_mir_build::thir::pattern::PatCtxt>::lower_path
  14: <rustc_mir_build::thir::pattern::PatCtxt>::lower_pattern
  15: rustc_mir_build::thir::pattern::pat_from_hir
  16: <rustc_mir_build::thir::cx::Cx>::convert_arm
  17: <alloc::vec::Vec<rustc_middle::thir::ArmId> as alloc::vec::spec_from_iter::SpecFromIter<rustc_middle::thir::ArmId, core::iter::adapters::map::Map<core::slice::iter::Iter<rustc_hir::hir::Arm>, <rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted::{closure#11}>>>::from_iter
  18: <rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted
  19: <rustc_mir_build::thir::cx::Cx>::mirror_expr_inner
  20: <rustc_mir_build::thir::cx::Cx>::mirror_block
  21: <rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted
  22: <rustc_mir_build::thir::cx::Cx>::mirror_expr_inner
  23: <rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted
  24: <rustc_mir_build::thir::cx::Cx>::mirror_expr_inner
  25: <rustc_mir_build::thir::cx::Cx>::mirror_block
  26: <rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted
  27: <rustc_mir_build::thir::cx::Cx>::mirror_expr_inner
  28: <rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted
  29: <rustc_mir_build::thir::cx::Cx>::mirror_expr_inner
  30: <rustc_mir_build::thir::cx::Cx>::mirror_block
  31: <rustc_mir_build::thir::cx::Cx>::make_mirror_unadjusted
  32: <rustc_mir_build::thir::cx::Cx>::mirror_expr_inner
  33: rustc_mir_build::thir::cx::thir_body
  34: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, core::result::Result<(&rustc_data_structures::steal::Steal<rustc_middle::thir::Thir>, rustc_middle::thir::ExprId), rustc_errors::ErrorGuaranteed>>::{closure#0}, core::result::Result<(&rustc_data_structures::steal::Steal<rustc_middle::thir::Thir>, rustc_middle::thir::ExprId), rustc_errors::ErrorGuaranteed>>
  35: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, core::result::Result<(&rustc_data_structures::steal::Steal<rustc_middle::thir::Thir>, rustc_middle::thir::ExprId), rustc_errors::ErrorGuaranteed>>
  36: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::thir_body, rustc_query_impl::plumbing::QueryCtxt>
  37: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::thir_body
  38: <rustc_infer::infer::InferCtxtBuilder>::enter::<rustc_middle::mir::Body, rustc_mir_build::build::mir_build::{closure#1}>
  39: rustc_mir_build::build::mir_built
  40: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>::{closure#0}, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>
  41: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>
  42: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>>
  43: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::mir_built, rustc_query_impl::plumbing::QueryCtxt>
  44: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_built
  45: rustc_mir_transform::check_unsafety::unsafety_check_result
  46: <rustc_mir_transform::check_unsafety::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  47: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::UnsafetyCheckResult>
  48: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::UnsafetyCheckResult>>
  49: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::unsafety_check_result, rustc_query_impl::plumbing::QueryCtxt>
  50: <rustc_mir_transform::check_unsafety::UnsafetyChecker as rustc_middle::mir::visit::Visitor>::visit_rvalue
  51: rustc_mir_transform::check_unsafety::unsafety_check_result
  52: <rustc_mir_transform::check_unsafety::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  53: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::UnsafetyCheckResult>
  54: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::UnsafetyCheckResult>>
  55: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::unsafety_check_result, rustc_query_impl::plumbing::QueryCtxt>
  56: rustc_mir_transform::mir_const
  57: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>::{closure#0}, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>
  58: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>
  59: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, &rustc_data_structures::steal::Steal<rustc_middle::mir::Body>>>
  60: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::mir_const, rustc_query_impl::plumbing::QueryCtxt>
  61: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_const
  62: rustc_mir_transform::mir_promoted
  63: <rustc_middle::dep_graph::dep_node::DepKind as rustc_query_system::dep_graph::DepKind>::with_deps::<<rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task_impl<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, (&rustc_data_structures::steal::Steal<rustc_middle::mir::Body>, &rustc_data_structures::steal::Steal<rustc_index::vec::IndexVec<rustc_middle::mir::Promoted, rustc_middle::mir::Body>>)>::{closure#0}, (&rustc_data_structures::steal::Steal<rustc_middle::mir::Body>, &rustc_data_structures::steal::Steal<rustc_index::vec::IndexVec<rustc_middle::mir::Promoted, rustc_middle::mir::Body>>)>
  64: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_middle::ty::WithOptConstParam<rustc_span::def_id::LocalDefId>, (&rustc_data_structures::steal::Steal<rustc_middle::mir::Body>, &rustc_data_structures::steal::Steal<rustc_index::vec::IndexVec<rustc_middle::mir::Promoted, rustc_middle::mir::Body>>)>
  65: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::mir_promoted, rustc_query_impl::plumbing::QueryCtxt>
  66: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::mir_promoted
  67: rustc_borrowck::mir_borrowck
  68: <rustc_borrowck::provide::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once
  69: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>
  70: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::LocalDefId, &rustc_middle::mir::query::BorrowCheckResult>>
  71: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
  72: rustc_typeck::collect::type_of::type_of
  73: <rustc_query_system::dep_graph::graph::DepGraph<rustc_middle::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle::ty::context::TyCtxt, rustc_span::def_id::DefId, rustc_middle::ty::Ty>
  74: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::plumbing::QueryCtxt, rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId, rustc_middle::ty::Ty>>
  75: rustc_query_system::query::plumbing::get_query::<rustc_query_impl::queries::type_of, rustc_query_impl::plumbing::QueryCtxt>
  76: <rustc_trait_selection::traits::select::SelectionContext>::confirm_candidate
  77: <rustc_trait_selection::traits::select::SelectionContext>::select
  78: <rustc_trait_selection::traits::fulfill::FulfillProcessor>::process_trait_obligation
  79: <rustc_trait_selection::traits::fulfill::FulfillProcessor>::process_changed_obligations
  80: <rustc_data_structures::obligation_forest::ObligationForest<rustc_trait_selection::traits::fulfill::PendingPredicateObligation>>::process_obligations::<rustc_trait_selection::traits::fulfill::FulfillProcessor, rustc_data_structures::obligation_forest::Outcome<rustc_trait_selection::traits::fulfill::PendingPredicateObligation, rustc_infer::traits::FulfillmentErrorCode>>
  81: <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_where_possible
  82: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_argument_types
  83: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_method_argument_types
  84: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  85: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  86: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_argument_types
  87: <rustc_typeck::check::fn_ctxt::FnCtxt>::confirm_builtin_call
  88: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_call
  89: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_kind
  90: <rustc_typeck::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  91: <rustc_typeck::check::fn_ctxt::FnCtxt>::demand_scrutinee_type

@kkaatii kkaatii added C-bug Category: This is a bug. 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. labels Jun 8, 2022
@eggyal
Copy link
Contributor

eggyal commented Jun 10, 2022

@rustbot label +A-incr-comp

@rustbot rustbot added the A-incr-comp Area: Incremental compilation label Jun 10, 2022
@djc
Copy link
Contributor

djc commented Sep 6, 2022

FWIW, I have a case where this (at least it looks similar) happens all the time on stable and on nightly, including after cargo clean. Branch here: https://github.com/InstantDomain/instant-xml/tree/ice-2. To reproduce, just run cargo test. Running CARGO_INCREMENTAL=0 cargo test makes it work correctly.

thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, value: Val(ByRef { alloc: Allocation { bytes: [0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], provenance: ProvenanceMap(SortedMap { data: [(Size(0 bytes), alloc5), (Size(16 bytes), alloc27)] }), init_mask: InitMask { blocks: [4294967295], len: Size(32 bytes) }, align: Align(8 bytes), mutability: Not, extra: () }, offset: Size(0 bytes) }, instant_xml::Id) }
- dep-node: try_destructure_mir_constant(9361c990efa81df2-565a9ce6901e1ee1)', /rustc/9243168fa5615ec8ebe9164c6bc2fdcccffd08b6/compiler/rustc_query_system/src/dep_graph/graph.rs:316:9
All the compiler output thread 'rustc' panicked at 'forcing query with already existing `DepNode` - query-key: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, value: Val(ByRef { alloc: Allocation { bytes: [0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], provenance: ProvenanceMap(SortedMap { data: [(Size(0 bytes), alloc5), (Size(16 bytes), alloc27)] }), init_mask: InitMask { blocks: [4294967295], len: Size(32 bytes) }, align: Align(8 bytes), mutability: Not, extra: () }, offset: Size(0 bytes) }, instant_xml::Id) } - dep-node: try_destructure_mir_constant(9361c990efa81df2-565a9ce6901e1ee1)', /rustc/9243168fa5615ec8ebe9164c6bc2fdcccffd08b6/compiler/rustc_query_system/src/dep_graph/graph.rs:316:9 stack backtrace: 0: 0x104c528e0 - ::fmt::h6ee2850c6aae1461 1: 0x104c9dd28 - core::fmt::write::hbba6fa9039cb1a44 2: 0x104c456cc - std::io::Write::write_fmt::h27f716847262c05a 3: 0x104c55190 - std::panicking::default_hook::{{closure}}::h436e4cd4e10ace11 4: 0x104c54eb8 - std::panicking::default_hook::h72aba44b53f1b1e2 5: 0x10ca3362c - rustc_driver[e208b117dc8a9758]::DEFAULT_HOOK::{closure#0}::{closure#0} 6: 0x104c55858 - std::panicking::rust_panic_with_hook::h96fccc895fea8297 7: 0x104c55704 - std::panicking::begin_panic_handler::{{closure}}::he246903da8290f6f 8: 0x104c52d84 - std::sys_common::backtrace::__rust_end_short_backtrace::h3c632280a1cb5bf6 9: 0x104c55454 - _rust_begin_unwind 10: 0x104cc77c8 - core::panicking::panic_fmt::h6a9fd9c43f18d4a2 11: 0x10fb52034 - >::with_task::, core[76f08928393e5912]::option::Option> 12: 0x10fa1f7dc - rustc_query_system[f26b08068cf1868e]::query::plumbing::get_query:: 13: 0x10fbfa9f8 - ::try_destructure_mir_constant 14: 0x1106957f4 - ::destructure_mir_constant 15: 0x10f45cfd0 - ::recur 16: 0x10f4563e4 - ::to_pat 17: 0x10f428004 - ::enter::::const_to_pat::{closure#0}> 18: 0x10f41fc20 - ::const_to_pat 19: 0x10f420318 - ::lower_path 20: 0x10f41d1d0 - ::lower_pattern 21: 0x10f466a8c - ::lower_pattern 22: 0x10f44d39c - as alloc[39c3eac8f41ca479]::vec::spec_from_iter::SpecFromIter, ::check_match::{closure#0}>>>::from_iter 23: 0x10f465470 - ::visit_expr 24: 0x10f465308 - ::visit_expr 25: 0x10f466834 - ::visit_local 26: 0x10f474d40 - rustc_hir[ae521431426d2a21]::intravisit::walk_expr:: 27: 0x10f465308 - ::visit_expr 28: 0x10f474c74 - rustc_hir[ae521431426d2a21]::intravisit::walk_expr:: 29: 0x10f465308 - ::visit_expr 30: 0x10f465308 - ::visit_expr 31: 0x10f474d0c - rustc_hir[ae521431426d2a21]::intravisit::walk_expr:: 32: 0x10f465308 - ::visit_expr 33: 0x10f4650f8 - rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::check_match 34: 0x10fb76804 - >::with_task:: 35: 0x10f980c64 - rustc_query_system[f26b08068cf1868e]::query::plumbing::try_execute_query::> 36: 0x10f9dffe4 - rustc_query_system[f26b08068cf1868e]::query::plumbing::get_query:: 37: 0x10cb299f8 - rustc_data_structures[bc61ff5b5a47b75b]::sync::par_for_each_in::<&[rustc_span[f48f28e6627543e7]::def_id::LocalDefId], ::par_body_owners::{closure#0}> 38: 0x10cac6000 - ::time::<(), rustc_interface[6177e2481885445a]::passes::analysis::{closure#1}::{closure#0}::{closure#0}> 39: 0x10cad6414 - rustc_interface[6177e2481885445a]::passes::analysis 40: 0x10fb8747c - >::with_task::> 41: 0x10f99144c - rustc_query_system[f26b08068cf1868e]::query::plumbing::try_execute_query::>> 42: 0x10fa2b944 - rustc_query_system[f26b08068cf1868e]::query::plumbing::get_query:: 43: 0x10c9ea870 - ::enter::> 44: 0x10c9c1914 - ::enter::, rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>> 45: 0x10c9bb304 - rustc_span[f48f28e6627543e7]::with_source_map::, rustc_interface[6177e2481885445a]::interface::create_compiler_and_run, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#1}> 46: 0x10c9c32d8 - rustc_interface[6177e2481885445a]::interface::create_compiler_and_run::, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}> 47: 0x10ca23560 - >::set::, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>> 48: 0x10c9eea10 - std[5ac2f64a7f5fb312]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>> 49: 0x10c9f12c0 - <::spawn_unchecked_, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>::{closure#1} as core[76f08928393e5912]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} 50: 0x104c5d93c - std::sys::unix::thread::Thread::new::thread_start::h653f78ce82393e25 51: 0x1bc56026c - __pthread_deallocate

error: internal compiler error: unexpected panic

note: 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.65.0-nightly (9243168 2022-08-31) running on aarch64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental

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

query stack during panic:
#0 [try_destructure_mir_constant] destructuring mir constant
#1 [check_match] match-checking <impl at instant-xml/tests/de-nested.rs:12:32: 12:39>::deserialize::<impl at instant-xml/tests/de-nested.rs:12:32: 12:39>::visit_struct
#2 [analysis] running analysis passes on this crate
end of query stack
thread 'rustc' panicked at 'forcing query with already existing DepNode

  • query-key: ParamEnvAnd { param_env: ParamEnv { caller_bounds: [], reveal: UserFacing, constness: NotConst }, value: Val(ByRef { alloc: Allocation { bytes: [0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0], provenance: ProvenanceMap(SortedMap { data: [(Size(0 bytes), alloc84), (Size(16 bytes), alloc85)] }), init_mask: InitMask { blocks: [4294967295], len: Size(32 bytes) }, align: Align(8 bytes), mutability: Not, extra: () }, offset: Size(0 bytes) }, instant_xml::Id) }
  • dep-node: try_destructure_mir_constant(9361c990efa81df2-565a9ce6901e1ee1)', /rustc/9243168fa5615ec8ebe9164c6bc2fdcccffd08b6/compiler/rustc_query_system/src/dep_graph/graph.rs:316:9
    stack backtrace:
    0: 0x1031468e0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ee2850c6aae1461
    1: 0x103191d28 - core::fmt::write::hbba6fa9039cb1a44
    2: 0x1031396cc - std::io::Write::write_fmt::h27f716847262c05a
    3: 0x103149190 - std::panicking::default_hook::{{closure}}::h436e4cd4e10ace11
    4: 0x103148eb8 - std::panicking::default_hook::h72aba44b53f1b1e2
    error: could not compile instant-xml
    warning: build failed, waiting for other jobs to finish...
    5: 0x10af2762c - rustc_driver[e208b117dc8a9758]::DEFAULT_HOOK::{closure#0}::{closure#0}
    6: 0x103149858 - std::panicking::rust_panic_with_hook::h96fccc895fea8297
    7: 0x103149704 - std::panicking::begin_panic_handler::{{closure}}::he246903da8290f6f
    8: 0x103146d84 - std::sys_common::backtrace::__rust_end_short_backtrace::h3c632280a1cb5bf6
    9: 0x103149454 - _rust_begin_unwind
    10: 0x1031bb7c8 - core::panicking::panic_fmt::h6a9fd9c43f18d4a2
    11: 0x10e046034 - <rustc_query_system[f26b08068cf1868e]::dep_graph::graph::DepGraph<rustc_middle[1c7c227ac2ff8c57]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[1c7c227ac2ff8c57]::ty::context::TyCtxt, rustc_middle[1c7c227ac2ff8c57]::ty::ParamEnvAnd<rustc_middle[1c7c227ac2ff8c57]::mir::ConstantKind>, core[76f08928393e5912]::option::Option<rustc_middle[1c7c227ac2ff8c57]::mir::query::DestructuredMirConstant>>
    12: 0x10df137dc - rustc_query_system[f26b08068cf1868e]::query::plumbing::get_query::<rustc_query_impl[3403876e8f70a62b]::queries::try_destructure_mir_constant, rustc_query_impl[3403876e8f70a62b]::plumbing::QueryCtxt>
    13: 0x10e0ee9f8 - <rustc_query_impl[3403876e8f70a62b]::Queries as rustc_middle[1c7c227ac2ff8c57]::ty::query::QueryEngine>::try_destructure_mir_constant
    14: 0x10eb897f4 - <rustc_middle[1c7c227ac2ff8c57]::ty::context::TyCtxt>::destructure_mir_constant
    15: 0x10d950fd0 - <rustc_mir_build[1ece791d94281726]::thir::pattern::const_to_pat::ConstToPat>::recur
    16: 0x10d94a3e4 - <rustc_mir_build[1ece791d94281726]::thir::pattern::const_to_pat::ConstToPat>::to_pat
    17: 0x10d91c004 - <rustc_infer[7a1816dbfc4af266]::infer::InferCtxtBuilder>::enter::<rustc_middle[1c7c227ac2ff8c57]::thir::Pat, <rustc_mir_build[1ece791d94281726]::thir::pattern::PatCtxt>::const_to_pat::{closure#0}>
    18: 0x10d913c20 - <rustc_mir_build[1ece791d94281726]::thir::pattern::PatCtxt>::const_to_pat
    19: 0x10d914318 - <rustc_mir_build[1ece791d94281726]::thir::pattern::PatCtxt>::lower_path
    20: 0x10d9111d0 - <rustc_mir_build[1ece791d94281726]::thir::pattern::PatCtxt>::lower_pattern
    21: 0x10d95aa8c - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor>::lower_pattern
    22: 0x10d94139c - <alloc[39c3eac8f41ca479]::vec::Vec<rustc_mir_build[1ece791d94281726]::thir::pattern::usefulness::MatchArm> as alloc[39c3eac8f41ca479]::vec::spec_from_iter::SpecFromIter<rustc_mir_build[1ece791d94281726]::thir::pattern::usefulness::MatchArm, core[76f08928393e5912]::iter::adapters::map::Map<core[76f08928393e5912]::slice::iter::Iter<rustc_hir[ae521431426d2a21]::hir::Arm>, <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor>::check_match::{closure#0}>>>::from_iter
    23: 0x10d959470 - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor as rustc_hir[ae521431426d2a21]::intravisit::Visitor>::visit_expr
    24: 0x10d959308 - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor as rustc_hir[ae521431426d2a21]::intravisit::Visitor>::visit_expr
    25: 0x10d95a834 - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor as rustc_hir[ae521431426d2a21]::intravisit::Visitor>::visit_local
    26: 0x10d968d40 - rustc_hir[ae521431426d2a21]::intravisit::walk_expr::<rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor>
    27: 0x10d959308 - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor as rustc_hir[ae521431426d2a21]::intravisit::Visitor>::visit_expr
    28: 0x10d968c74 - rustc_hir[ae521431426d2a21]::intravisit::walk_expr::<rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor>
    29: 0x10d959308 - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor as rustc_hir[ae521431426d2a21]::intravisit::Visitor>::visit_expr
    30: 0x10d959308 - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor as rustc_hir[ae521431426d2a21]::intravisit::Visitor>::visit_expr
    31: 0x10d968d0c - rustc_hir[ae521431426d2a21]::intravisit::walk_expr::<rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor>
    32: 0x10d959308 - <rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::MatchVisitor as rustc_hir[ae521431426d2a21]::intravisit::Visitor>::visit_expr
    33: 0x10d9590f8 - rustc_mir_build[1ece791d94281726]::thir::pattern::check_match::check_match
    34: 0x10e06a804 - <rustc_query_system[f26b08068cf1868e]::dep_graph::graph::DepGraph<rustc_middle[1c7c227ac2ff8c57]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[1c7c227ac2ff8c57]::ty::context::TyCtxt, rustc_span[f48f28e6627543e7]::def_id::DefId, ()>
    35: 0x10de74c64 - rustc_query_system[f26b08068cf1868e]::query::plumbing::try_execute_query::<rustc_query_impl[3403876e8f70a62b]::plumbing::QueryCtxt, rustc_query_system[f26b08068cf1868e]::query::caches::DefaultCache<rustc_span[f48f28e6627543e7]::def_id::DefId, ()>>
    36: 0x10ded3fe4 - rustc_query_system[f26b08068cf1868e]::query::plumbing::get_query::<rustc_query_impl[3403876e8f70a62b]::queries::check_match, rustc_query_impl[3403876e8f70a62b]::plumbing::QueryCtxt>
    37: 0x10b01d9f8 - rustc_data_structures[bc61ff5b5a47b75b]::sync::par_for_each_in::<&[rustc_span[f48f28e6627543e7]::def_id::LocalDefId], <rustc_middle[1c7c227ac2ff8c57]::hir::map::Map>::par_body_owners<rustc_interface[6177e2481885445a]::passes::analysis::{closure#1}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}>
    38: 0x10afba000 - <rustc_session[2ada654d88826174]::session::Session>::time::<(), rustc_interface[6177e2481885445a]::passes::analysis::{closure#1}::{closure#0}::{closure#0}>
    39: 0x10afca414 - rustc_interface[6177e2481885445a]::passes::analysis
    40: 0x10e07b47c - <rustc_query_system[f26b08068cf1868e]::dep_graph::graph::DepGraph<rustc_middle[1c7c227ac2ff8c57]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[1c7c227ac2ff8c57]::ty::context::TyCtxt, (), core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>
    41: 0x10de8544c - rustc_query_system[f26b08068cf1868e]::query::plumbing::try_execute_query::<rustc_query_impl[3403876e8f70a62b]::plumbing::QueryCtxt, rustc_query_system[f26b08068cf1868e]::query::caches::DefaultCache<(), core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>>
    42: 0x10df1f944 - rustc_query_system[f26b08068cf1868e]::query::plumbing::get_query::<rustc_query_impl[3403876e8f70a62b]::queries::analysis, rustc_query_impl[3403876e8f70a62b]::plumbing::QueryCtxt>
    43: 0x10aede870 - <rustc_interface[6177e2481885445a]::passes::QueryContext>::enter::<rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>
    44: 0x10aeb5914 - <rustc_interface[6177e2481885445a]::interface::Compiler>::enter::<rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}::{closure#2}, core[76f08928393e5912]::result::Result<core[76f08928393e5912]::option::Option<rustc_interface[6177e2481885445a]::queries::Linker>, rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>
    45: 0x10aeaf304 - rustc_span[f48f28e6627543e7]::with_source_map::<core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>, rustc_interface[6177e2481885445a]::interface::create_compiler_and_run<core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#1}>
    46: 0x10aeb72d8 - rustc_interface[6177e2481885445a]::interface::create_compiler_and_run::<core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>
    47: 0x10af17560 - <scoped_tls[383afbd38aaf5b9a]::ScopedKey<rustc_span[f48f28e6627543e7]::SessionGlobals>>::set::<rustc_interface[6177e2481885445a]::interface::run_compiler<core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>
    48: 0x10aee2a10 - std[5ac2f64a7f5fb312]::sys_common::backtrace::_rust_begin_short_backtrace::<rustc_interface[6177e2481885445a]::util::run_in_thread_pool_with_globals<rustc_interface[6177e2481885445a]::interface::run_compiler<core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>
    49: 0x10aee52c0 - <<std[5ac2f64a7f5fb312]::thread::Builder>::spawn_unchecked
    <rustc_interface[6177e2481885445a]::util::run_in_thread_pool_with_globals<rustc_interface[6177e2481885445a]::interface::run_compiler<core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>, rustc_driver[e208b117dc8a9758]::run_compiler::{closure#1}>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>::{closure#0}, core[76f08928393e5912]::result::Result<(), rustc_errors[128878f5f3ceac1a]::ErrorGuaranteed>>::{closure#1} as core[76f08928393e5912]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
    50: 0x10315193c - std::sys::unix::thread::Thread::new::thread_start::h653f78ce82393e25
    51: 0x1bc56026c - __pthread_deallocate

error: internal compiler error: unexpected panic

note: 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.65.0-nightly (9243168 2022-08-31) running on aarch64-apple-darwin

note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental

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

query stack during panic:
#0 [try_destructure_mir_constant] destructuring mir constant
#1 [check_match] match-checking <impl at instant-xml/tests/de-ns.rs:78:32: 78:39>::deserialize::<impl at instant-xml/tests/de-ns.rs:78:32: 78:39>::visit_struct
#2 [analysis] running analysis passes on this crate
end of query stack

cc @steffahn since you were able to triage the last one so quickly, maybe care to take a look?

@steffahn
Copy link
Member

steffahn commented Sep 6, 2022

@djc Your “All the compiler output” section is not formatted properly. Make sure to wrap things into a code block. It might necessary to leave an empty line between the ``` for the code fences and lines with HTML tags for <details>.

Regarding triage, I wouldn’t know how to tell whether or not the reproduction you have is actually “the same” issue as this one, so perhaps opening a new issue might be useful. I can reproduce it, and it’s nice (and interesting) that it’s appearing unconditionally, even though it looks similar to an incr-comp issue. Should make minimization easier though; if you open a new issue, make sure to tag it with E-needs-mcve :-) I don’t have time for minimizing myself today, but if no-one else picks it up, I might go for minimization within the next few days.

Let me quickly bisect your reproduction … apparently it is a regression from around May, so feel free to add regression-from-stable-to-stable to a new issue, too; I will edit in bisection results once it’s complete.


Edit1: The “May” figure might be inaccurate, just noticed that it might have simply not ICE’d before May because it fails with use of unstable library feature 'bool_to_option'

Edit2: Fixing the unstable features, this goes a lot further back; I haven’t even confirmed it’s a regression.

Edit3: Probably needs some minimization to simplify testing earlier Rust versions for whether there’s a regression, I can confirm this ICE goes back at least 2 years.

@djc
Copy link
Contributor

djc commented Sep 7, 2022

Thanks, filed #101518 for my issue.

@apiraino
Copy link
Contributor

Closing as duplicate in favor of #83085 (which has a patch for fixing the issue in progress)

@apiraino apiraino closed this as not planned Won't fix, can't repro, duplicate, stale Dec 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-incr-comp Area: Incremental compilation C-bug Category: This is a bug. 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.
Projects
None yet
Development

No branches or pull requests

6 participants