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

cannot relate bound region #109604

Closed
Wava11 opened this issue Mar 25, 2023 · 1 comment
Closed

cannot relate bound region #109604

Wava11 opened this issue Mar 25, 2023 · 1 comment
Labels
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

@Wava11
Copy link

Wava11 commented Mar 25, 2023

Code

use std::collections::HashSet;

fn calc_edges<'a>(stages: Vec<Stage<'a>>) {
    stages
        .into_iter()
        .map(|stage: &Stage| -> Vec<Edge> {
            stage
                .next_stages
                .into_iter()
                .enumerate()
                .map(|(index, next_stage)| {
                    let next_stage_vertex_index = stages
                        .into_iter()
                        .position(|stage| stage.identifier == next_stage.identifier);
                    (index, next_stage_vertex_index)
                })
                .collect::<Vec<Edge>>()
        })
        .flatten()
        .collect()
}

struct Stage<'a> {
    identifier: String,
    next_stages: HashSet<&'a Stage<'a>>,
}

type Edge = (usize, Option<usize>);

Meta

rustc --version --verbose:

rustc 1.68.1 (8460ca823 2023-03-20)
binary: rustc
commit-hash: 8460ca823e8367a30dda430efda790588b8c84d3
commit-date: 2023-03-20
host: x86_64-pc-windows-msvc
release: 1.68.1
LLVM version: 15.0.6

Error output

thread 'rustc' panicked at 'Box<dyn Any>', /rustc/8460ca823e8367a30dda430efda790588b8c84d3\compiler\rustc_errors\src\lib.rs:987:33
Backtrace

stack backtrace:
   0:     0x7ffc1c829d02 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h24420960574ebc1c
   1:     0x7ffc1c86570b - core::fmt::write::h26edb44d1c5a6228
   2:     0x7ffc1c81cdfa - <std::io::IoSlice as core::fmt::Debug>::fmt::h3ff7218cf0d77c3d
   3:     0x7ffc1c829a4b - std::sys::common::alloc::realloc_fallback::hc95eb280a5e906e1
   4:     0x7ffc1c82d3f9 - std::panicking::default_hook::h0e3996dde5e60121
   5:     0x7ffc1c82d07b - std::panicking::default_hook::h0e3996dde5e60121
   6:     0x7ffc0ca368d5 - rustc_driver[9a81db59c34cf3a5]::describe_lints
   7:     0x7ffc1c82dd5f - std::panicking::rust_panic_with_hook::hf3035ce96f91938a
   8:     0x7ffc0ecf6493 - <<rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt>::construct_generic_bound_failure::SubOrigin as core[88a2d7387c40f712]::fmt::Debug>::fmt
   9:     0x7ffc0ecf49a9 - <<rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt>::construct_generic_bound_failure::SubOrigin as core[88a2d7387c40f712]::fmt::Debug>::fmt
  10:     0x7ffc0ecf4619 - <<rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt>::construct_generic_bound_failure::SubOrigin as core[88a2d7387c40f712]::fmt::Debug>::fmt
  11:     0x7ffc0ecf4609 - <<rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt>::construct_generic_bound_failure::SubOrigin as core[88a2d7387c40f712]::fmt::Debug>::fmt
  12:     0x7ffc0ecf3fb0 - <<rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt>::construct_generic_bound_failure::SubOrigin as core[88a2d7387c40f712]::fmt::Debug>::fmt
  13:     0x7ffc0ecf3e09 - <<rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt>::construct_generic_bound_failure::SubOrigin as core[88a2d7387c40f712]::fmt::Debug>::fmt
  14:     0x7ffc0ecfc259 - <rustc_infer[4a5594bed6e23f7a]::infer::opaque_types::table::OpaqueTypeStorage as core[88a2d7387c40f712]::fmt::Debug>::fmt
  15:     0x7ffc0ecfc2bd - <rustc_infer[4a5594bed6e23f7a]::infer::opaque_types::table::OpaqueTypeStorage as core[88a2d7387c40f712]::fmt::Debug>::fmt
  16:     0x7ffc0ecfb47a - <rustc_infer[4a5594bed6e23f7a]::infer::opaque_types::table::OpaqueTypeStorage as core[88a2d7387c40f712]::fmt::Debug>::fmt
  17:     0x7ffc0ecfb408 - <rustc_infer[4a5594bed6e23f7a]::infer::opaque_types::table::OpaqueTypeStorage as core[88a2d7387c40f712]::fmt::Debug>::fmt
  18:     0x7ffc0ecfb3c6 - <rustc_infer[4a5594bed6e23f7a]::infer::opaque_types::table::OpaqueTypeStorage as core[88a2d7387c40f712]::fmt::Debug>::fmt
  19:     0x7ffc0c864d1a - <rustc_infer[4a5594bed6e23f7a]::infer::combine::ConstInferUnifier as rustc_middle[348c050efaf3cf62]::ty::relate::TypeRelation>::consts
  20:     0x7ffc0c873abf - <rustc_middle[348c050efaf3cf62]::ty::sty::AliasTy as rustc_infer[4a5594bed6e23f7a]::infer::at::ToTrace>::to_trace
  21:     0x7ffc0c82ee99 - <rustc_infer[4a5594bed6e23f7a]::infer::equate::Equate as rustc_middle[348c050efaf3cf62]::ty::relate::TypeRelation>::tys
  22:     0x7ffc0afff4ea - rustc_trait_selection[ba7b18a923262ca4]::traits::const_evaluatable::is_const_evaluatable   
  23:     0x7ffc0afec83b - <rustc_trait_selection[ba7b18a923262ca4]::traits::project::AssocTypeNormalizer as rustc_middle[348c050efaf3cf62]::ty::fold::TypeFolder>::fold_const
  24:     0x7ffc0ec44e58 - <rustc_trait_selection[ba7b18a923262ca4]::traits::const_evaluatable::satisfied_from_param_env::Visitor as rustc_middle[348c050efaf3cf62]::ty::visit::TypeVisitor>::visit_const
  25:     0x7ffc0ebe3c09 - <rustc_trait_selection[ba7b18a923262ca4]::traits::error_reporting::method_chain::CollectAllMismatches as rustc_middle[348c050efaf3cf62]::ty::relate::TypeRelation>::consts
  26:     0x7ffc0ec5d363 - <rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[ba7b18a923262ca4]::traits::error_reporting::suggestions::TypeErrCtxtExt>::report_closure_arg_mismatch
  27:     0x7ffc0ec7087b - <rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[ba7b18a923262ca4]::traits::error_reporting::TypeErrCtxtExt>::report_selection_error
  28:     0x7ffc0ec7d4a5 - <rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[ba7b18a923262ca4]::traits::error_reporting::InferCtxtPrivExt>::report_fulfillment_error
  29:     0x7ffc0ec6d209 - <rustc_infer[4a5594bed6e23f7a]::infer::error_reporting::TypeErrCtxt as rustc_trait_selection[ba7b18a923262ca4]::traits::error_reporting::TypeErrCtxtExt>::report_fulfillment_errors
  30:     0x7ffc0bb8e276 - <rustc_hir_typeck[de1d69685c3524a8]::fn_ctxt::FnCtxt>::demand_coerce
  31:     0x7ffc0bb8802a - <rustc_hir_typeck[de1d69685c3524a8]::fn_ctxt::FnCtxt>::demand_coerce
  32:     0x7ffc0bbca622 - <rustc_hir_typeck[de1d69685c3524a8]::fn_ctxt::FnCtxt>::check_struct_path
  33:     0x7ffc0bb87fcf - <rustc_hir_typeck[de1d69685c3524a8]::fn_ctxt::FnCtxt>::demand_coerce
  34:     0x7ffc0bb9d7d0 - <rustc_hir_typeck[de1d69685c3524a8]::fn_ctxt::FnCtxt>::demand_coerce
  35:     0x7ffc0bc3bd7d - <rustc_hir_typeck[de1d69685c3524a8]::writeback::WritebackCx as rustc_hir[c9ded08e9c1a2081]::intravisit::Visitor>::visit_ty
  36:     0x7ffc0bb4efcc - <rustc_hir_typeck[de1d69685c3524a8]::inherited::Inherited as core[88a2d7387c40f712]::ops::deref::Deref>::deref
  37:     0x7ffc0ac1f049 - <rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheEncoder as rustc_type_ir[1f8388642b2bc09c]::codec::TyEncoder>::encode_alloc_id
  38:     0x7ffc0ac85215 - <&[(rustc_middle[348c050efaf3cf62]::ty::Predicate, rustc_span[d3e736c3e38f3ea5]::span_encoding::Span)] as rustc_serialize[fb792d7000edb6]::serialize::Decodable<rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheDecoder>>::decode
  39:     0x7ffc0c40fbdd - <&[(rustc_middle[348c050efaf3cf62]::ty::Clause, rustc_span[d3e736c3e38f3ea5]::span_encoding::Span)] as rustc_serialize[fb792d7000edb6]::serialize::Decodable<rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheDecoder>>::decode
  40:     0x7ffc0c2e6da3 - <rustc_query_impl[7254303e48199d54]::Queries as rustc_middle[348c050efaf3cf62]::ty::query::QueryEngine>::as_any
  41:     0x7ffc0bbf80a3 - <rustc_hir_typeck[de1d69685c3524a8]::fn_ctxt::FnCtxt>::resolve_fully_qualified_call        
  42:     0x7ffc0a8cbcb1 - <rustc_hir_typeck[de1d69685c3524a8]::inherited::Inherited>::build
  43:     0x7ffc0ac20e1f - <rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheEncoder as rustc_type_ir[1f8388642b2bc09c]::codec::TyEncoder>::encode_alloc_id
  44:     0x7ffc0aca41bf - <&[(rustc_middle[348c050efaf3cf62]::ty::Predicate, rustc_span[d3e736c3e38f3ea5]::span_encoding::Span)] as rustc_serialize[fb792d7000edb6]::serialize::Decodable<rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheDecoder>>::decode
  45:     0x7ffc0ad130d1 - <&[(rustc_middle[348c050efaf3cf62]::ty::Predicate, rustc_span[d3e736c3e38f3ea5]::span_encoding::Span)] as rustc_serialize[fb792d7000edb6]::serialize::Decodable<rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheDecoder>>::decode
  46:     0x7ffc0abf2d72 - <rustc_query_impl[7254303e48199d54]::Queries as rustc_middle[348c050efaf3cf62]::ty::query::QueryEngine>::try_mark_green
  47:     0x7ffc0a92a45a - <<dyn rustc_hir_analysis[38f54a96453c487e]::astconv::AstConv>::create_substs_for_ast_path::{closure#0}::SubstsForAstPathCtxt as rustc_hir_analysis[38f54a96453c487e]::astconv::CreateSubstsForGenericArgsCtxt>::inferred_kind
  48:     0x7ffc0a922149 - rustc_hir_analysis[38f54a96453c487e]::check_crate
  49:     0x7ffc0a202275 - rustc_interface[80bde221feee50b9]::passes::analysis
  50:     0x7ffc0ac20a4f - <rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheEncoder as rustc_type_ir[1f8388642b2bc09c]::codec::TyEncoder>::encode_alloc_id
  51:     0x7ffc0ac9fe69 - <&[(rustc_middle[348c050efaf3cf62]::ty::Predicate, rustc_span[d3e736c3e38f3ea5]::span_encoding::Span)] as rustc_serialize[fb792d7000edb6]::serialize::Decodable<rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheDecoder>>::decode
  52:     0x7ffc0ad8c201 - <&[(rustc_middle[348c050efaf3cf62]::ty::Predicate, rustc_span[d3e736c3e38f3ea5]::span_encoding::Span)] as rustc_serialize[fb792d7000edb6]::serialize::Decodable<rustc_query_impl[7254303e48199d54]::on_disk_cache::CacheDecoder>>::decode
  53:     0x7ffc0abf056f - <rustc_query_impl[7254303e48199d54]::Queries as rustc_middle[348c050efaf3cf62]::ty::query::QueryEngine>::try_mark_green
  54:     0x7ffc0a1ad1a9 - <rustc_middle[348c050efaf3cf62]::ty::SymbolName as core[88a2d7387c40f712]::fmt::Debug>::fmt  55:     0x7ffc0a1be7ba - rustc_driver[9a81db59c34cf3a5]::args::arg_expand_all
  56:     0x7ffc0a1a2ac1 - <unknown>
  57:     0x7ffc0a1acacb - <rustc_middle[348c050efaf3cf62]::ty::SymbolName as core[88a2d7387c40f712]::fmt::Debug>::fmt  58:     0x7ffc0a1ac319 - <rustc_middle[348c050efaf3cf62]::ty::SymbolName as core[88a2d7387c40f712]::fmt::Debug>::fmt  59:     0x7ffc0a1a404d - <rustc_middle[348c050efaf3cf62]::ty::SymbolName as core[88a2d7387c40f712]::fmt::Debug>::fmt  60:     0x7ffc1c84021c - std::sys::windows::thread::Thread::new::hd26bc42258b98de9
  61:     0x7ffcbc147614 - BaseThreadInitThunk
  62:     0x7ffcbdb226a1 - RtlUserThreadStart

@Wava11 Wava11 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 Mar 25, 2023
@compiler-errors
Copy link
Member

This is fixed by #107306, which is landing on 1.69, and is a duplicate of #109361, so closing as dupe

@compiler-errors compiler-errors closed this as not planned Won't fix, can't repro, duplicate, stale Mar 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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

2 participants