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]: error: internal compiler error: TypeTestError #107428

Closed
1 of 4 tasks
matthiaskrgr opened this issue Jan 28, 2023 · 4 comments
Closed
1 of 4 tasks

[ICE]: error: internal compiler error: TypeTestError #107428

matthiaskrgr opened this issue Jan 28, 2023 · 4 comments
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

@matthiaskrgr
Copy link
Member

Code

use std::future::Future;
use std::pin::Pin;
use std::task::{Poll, Context};

struct LocalSet {}
struct RunUntil<'a, F> {
    _local_set: &'a LocalSet,
    _future: F,
}
impl<'a, F> RunUntil<'a, F> {
    fn project<'pin>(self: Pin<&'pin mut Self>) -> Projection<'pin, 'a, F> {
        unimplemented!()
    }
}

struct Projection<'pin, 'a, F>
where
    RunUntil<'a, F>: 'pin,
{
    pub local_set: &'pin mut &'a LocalSet,
    pub future: Pin<&'a mut F>,
}

impl LocalSet {
    fn with<T>(&self, _f: impl FnOnce() -> T) -> T {
        unimplemented!()
    }
}
impl<T: Future> Future for RunUntil<'_, T> {
    type Output = T::Output;
    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
        let me = self.project();
        me.local_set.with(|| {
            let _ = cx.waker();
            let f = me.future;
            let _ = self.poll(cx);
            Poll::Pending
        })
    }
}

fn main() {}

Affected release channels

  • Previous Stable
  • Current Stable
  • Current Beta
  • Current Nightly

Rust Version

rustc 1.69.0-nightly (ef982929c 2023-01-27)
binary: rustc
commit-hash: ef982929c0b653436a6ea6892a2a839fba7c8b57
commit-date: 2023-01-27
host: x86_64-unknown-linux-gnu
release: 1.69.0-nightly
LLVM version: 15.0.7

Current error output

No response

Backtrace

warning: unused variable: `f`
  --> 3e08e5ca509f99c99abb1d26030032936768debc.rs:35:17
   |
35 |             let f = me.future;
   |                 ^ help: if this is intentional, prefix it with an underscore: `_f`
   |
   = note: `#[warn(unused_variables)]` on by default

thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 6', /cargo/registry/src/github.com-1ecc6299db9ec823/ena-0.14.0/src/snapshot_vec.rs:199:10
stack backtrace:
   0:     0x7fb1cfd6636a - std::backtrace_rs::backtrace::libunwind::trace::heb3166a6cb1fd02b
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fb1cfd6636a - std::backtrace_rs::backtrace::trace_unsynchronized::h34837841e045a1d4
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb1cfd6636a - std::sys_common::backtrace::_print_fmt::h4348a4b63f328ee4
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fb1cfd6636a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1bad440d01eeeb29
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fb1cfdc852e - core::fmt::write::hb5a073c651a6cb64
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/fmt/mod.rs:1232:17
   5:     0x7fb1cfd569b5 - std::io::Write::write_fmt::h97cc768331421fb2
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/io/mod.rs:1682:15
   6:     0x7fb1cfd66135 - std::sys_common::backtrace::_print::h23bd93d6897965f3
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fb1cfd66135 - std::sys_common::backtrace::print::h4d41ae33ce7a824f
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fb1cfd68eff - std::panicking::default_hook::{{closure}}::h8ab48635107c713a
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:267:22
   9:     0x7fb1cfd68c3b - std::panicking::default_hook::h6305ca3c910e41d2
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:286:9
  10:     0x7fb1d30d5444 - rustc_driver[d1d90693eba3e117]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7fb1cfd6973a - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h60fe4dd8262b5528
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:2002:9
  12:     0x7fb1cfd6973a - std::panicking::rust_panic_with_hook::ha8dfad8ee636a9a3
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:692:13
  13:     0x7fb1cfd694b9 - std::panicking::begin_panic_handler::{{closure}}::h4fcf608bbbd27b26
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:579:13
  14:     0x7fb1cfd6681c - std::sys_common::backtrace::__rust_end_short_backtrace::h86f63ffb2338c5c8
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys_common/backtrace.rs:137:18
  15:     0x7fb1cfd691c2 - rust_begin_unwind
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/panicking.rs:575:5
  16:     0x7fb1cfdc4ed3 - core::panicking::panic_fmt::ha12d43373dd0f588
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/panicking.rs:64:14
  17:     0x7fb1cfdc50c2 - core::panicking::panic_bounds_check::h5d69ae38f9e25022
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/core/src/panicking.rs:159:5
  18:     0x7fb1d10100b7 - <ena[e83628b93913ff8c]::unify::UnificationTable<ena[e83628b93913ff8c]::unify::backing_vec::InPlace<rustc_middle[526e0ca739798ee2]::infer::unify_key::RegionVidKey, &mut alloc[9ea3c9e5c77b7621]::vec::Vec<ena[e83628b93913ff8c]::unify::VarValue<rustc_middle[526e0ca739798ee2]::infer::unify_key::RegionVidKey>>, &mut rustc_infer[a05056d2428e5e85]::infer::undo_log::InferCtxtUndoLogs>>>::uninlined_get_root_key
  19:     0x7fb1d102eae1 - <rustc_middle[526e0ca739798ee2]::ty::sty::Region as rustc_middle[526e0ca739798ee2]::ty::relate::Relate>::relate::<rustc_infer[a05056d2428e5e85]::infer::equate::Equate>
  20:     0x7fb1d102b995 - rustc_middle[526e0ca739798ee2]::ty::relate::super_relate_tys::<rustc_infer[a05056d2428e5e85]::infer::equate::Equate>
  21:     0x7fb1d1028d6e - <rustc_infer[a05056d2428e5e85]::infer::equate::Equate as rustc_middle[526e0ca739798ee2]::ty::relate::TypeRelation>::tys
  22:     0x7fb1d102b472 - rustc_middle[526e0ca739798ee2]::ty::relate::super_relate_tys::<rustc_infer[a05056d2428e5e85]::infer::equate::Equate>
  23:     0x7fb1d1028d6e - <rustc_infer[a05056d2428e5e85]::infer::equate::Equate as rustc_middle[526e0ca739798ee2]::ty::relate::TypeRelation>::tys
  24:     0x7fb1d102b540 - rustc_middle[526e0ca739798ee2]::ty::relate::super_relate_tys::<rustc_infer[a05056d2428e5e85]::infer::equate::Equate>
  25:     0x7fb1d1028d6e - <rustc_infer[a05056d2428e5e85]::infer::equate::Equate as rustc_middle[526e0ca739798ee2]::ty::relate::TypeRelation>::tys
  26:     0x7fb1d2740d13 - <rustc_infer[a05056d2428e5e85]::infer::InferCtxt>::commit_if_ok::<rustc_infer[a05056d2428e5e85]::infer::InferOk<()>, rustc_middle[526e0ca739798ee2]::ty::error::TypeError, <rustc_infer[a05056d2428e5e85]::infer::at::Trace>::eq<rustc_middle[526e0ca739798ee2]::ty::Ty>::{closure#0}>
  27:     0x7fb1d2740c07 - <rustc_infer[a05056d2428e5e85]::infer::at::At>::eq::<rustc_middle[526e0ca739798ee2]::ty::Ty>
  28:     0x7fb1d2e1613d - <rustc_infer[a05056d2428e5e85]::infer::InferCtxt>::can_eq::<rustc_middle[526e0ca739798ee2]::ty::Ty>
  29:     0x7fb1d2e49e68 - <rustc_borrowck[2e52752a89f891f4]::MirBorrowckCtxt>::explain_captures
  30:     0x7fb1d2e38814 - <rustc_borrowck[2e52752a89f891f4]::MirBorrowckCtxt>::report_use_of_moved_or_uninitialized
  31:     0x7fb1d13f332f - <rustc_borrowck[2e52752a89f891f4]::MirBorrowckCtxt as rustc_mir_dataflow[5bfd982c459f1d77]::framework::visitor::ResultsVisitor>::visit_statement_before_primary_effect
  32:     0x7fb1d1fe22c3 - rustc_mir_dataflow[5bfd982c459f1d77]::framework::visitor::visit_results::<rustc_borrowck[2e52752a89f891f4]::dataflow::BorrowckAnalyses<rustc_index[718e423753522017]::bit_set::BitSet<rustc_borrowck[2e52752a89f891f4]::dataflow::BorrowIndex>, rustc_index[718e423753522017]::bit_set::ChunkedBitSet<rustc_mir_dataflow[5bfd982c459f1d77]::move_paths::MovePathIndex>, rustc_index[718e423753522017]::bit_set::ChunkedBitSet<rustc_mir_dataflow[5bfd982c459f1d77]::move_paths::InitIndex>>, rustc_borrowck[2e52752a89f891f4]::dataflow::BorrowckAnalyses<rustc_mir_dataflow[5bfd982c459f1d77]::framework::engine::Results<rustc_borrowck[2e52752a89f891f4]::dataflow::Borrows>, rustc_mir_dataflow[5bfd982c459f1d77]::framework::engine::Results<rustc_mir_dataflow[5bfd982c459f1d77]::impls::MaybeUninitializedPlaces>, rustc_mir_dataflow[5bfd982c459f1d77]::framework::engine::Results<rustc_mir_dataflow[5bfd982c459f1d77]::impls::EverInitializedPlaces>>, core[3a3cbeb512a16fa3]::iter::adapters::map::Map<rustc_middle[526e0ca739798ee2]::mir::traversal::ReversePostorderIter, rustc_borrowck[2e52752a89f891f4]::do_mir_borrowck::{closure#2}>, rustc_borrowck[2e52752a89f891f4]::MirBorrowckCtxt>
  33:     0x7fb1d1fbb727 - rustc_borrowck[2e52752a89f891f4]::do_mir_borrowck
  34:     0x7fb1d1f9df85 - rustc_borrowck[2e52752a89f891f4]::mir_borrowck
  35:     0x7fb1d18b938d - rustc_query_system[decabb1eb79370b7]::query::plumbing::try_execute_query::<rustc_query_impl[ff3c18b748312d2f]::queries::mir_borrowck, rustc_query_impl[ff3c18b748312d2f]::plumbing::QueryCtxt>
  36:     0x7fb1d17265cd - rustc_data_structures[439cdbfa31de989]::sync::par_for_each_in::<&[rustc_span[6b0f4bf036ac788e]::def_id::LocalDefId], <rustc_middle[526e0ca739798ee2]::hir::map::Map>::par_body_owners<rustc_interface[d4b4ad1a0cb81775]::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
  37:     0x7fb1d17261d3 - <rustc_session[8c42e6c16859134b]::session::Session>::time::<(), rustc_interface[d4b4ad1a0cb81775]::passes::analysis::{closure#2}>
  38:     0x7fb1d17242b7 - rustc_interface[d4b4ad1a0cb81775]::passes::analysis
  39:     0x7fb1d285c88e - rustc_query_system[decabb1eb79370b7]::query::plumbing::try_execute_query::<rustc_query_impl[ff3c18b748312d2f]::queries::analysis, rustc_query_impl[ff3c18b748312d2f]::plumbing::QueryCtxt>
  40:     0x7fb1d2a8664a - <rustc_query_impl[ff3c18b748312d2f]::Queries as rustc_middle[526e0ca739798ee2]::ty::query::QueryEngine>::analysis
  41:     0x7fb1d278fa60 - <rustc_interface[d4b4ad1a0cb81775]::passes::QueryContext>::enter::<rustc_driver[d1d90693eba3e117]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>>
  42:     0x7fb1d22e1296 - rustc_span[6b0f4bf036ac788e]::with_source_map::<core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>, rustc_interface[d4b4ad1a0cb81775]::interface::run_compiler<core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>, rustc_driver[d1d90693eba3e117]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
  43:     0x7fb1d22d9654 - <scoped_tls[6607de7944b4e913]::ScopedKey<rustc_span[6b0f4bf036ac788e]::SessionGlobals>>::set::<rustc_interface[d4b4ad1a0cb81775]::interface::run_compiler<core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>, rustc_driver[d1d90693eba3e117]::run_compiler::{closure#1}>::{closure#0}, core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>>
  44:     0x7fb1d22d8d52 - std[ef0604d174e11cd5]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[d4b4ad1a0cb81775]::util::run_in_thread_pool_with_globals<rustc_interface[d4b4ad1a0cb81775]::interface::run_compiler<core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>, rustc_driver[d1d90693eba3e117]::run_compiler::{closure#1}>::{closure#0}, core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>>
  45:     0x7fb1d22d8afa - <<std[ef0604d174e11cd5]::thread::Builder>::spawn_unchecked_<rustc_interface[d4b4ad1a0cb81775]::util::run_in_thread_pool_with_globals<rustc_interface[d4b4ad1a0cb81775]::interface::run_compiler<core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>, rustc_driver[d1d90693eba3e117]::run_compiler::{closure#1}>::{closure#0}, core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[3a3cbeb512a16fa3]::result::Result<(), rustc_errors[6cf9ff966b0b62fb]::ErrorGuaranteed>>::{closure#1} as core[3a3cbeb512a16fa3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  46:     0x7fb1cfd73803 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h9646bd6a135081c9
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
  47:     0x7fb1cfd73803 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h180d98f11b902552
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
  48:     0x7fb1cfd73803 - std::sys::unix::thread::Thread::new::thread_start::h83489d4028ebb6e1
                               at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys/unix/thread.rs:108:17
  49:     0x7fb1cfb048fd - <unknown>
  50:     0x7fb1cfb86d20 - <unknown>
  51:                0x0 - <unknown>

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.69.0-nightly (ef982929c 2023-01-27) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [mir_borrowck] borrow-checking `<impl at 3e08e5ca509f99c99abb1d26030032936768debc.rs:29:1: 29:43>::poll`
#1 [analysis] running analysis passes on this crate
end of query stack
warning: 1 warning emitted

error: internal compiler error: no errors encountered even though `delay_span_bug` issued

error: internal compiler error: TypeTestError { type_test: TypeTest { generic_kind: T/#1, lower_bound: '_#6r, span: 3e08e5ca509f99c99abb1d26030032936768debc.rs:32:18: 32:32 (#0), verify_bound: AnyBound([OutlivedBy('_#2r), OutlivedBy('_#5r)]) } }
  |
  = note: delayed at    0: <rustc_errors::HandlerInner>::emit_diagnostic
             1: <rustc_errors::Handler>::delay_span_bug::<rustc_span::span_encoding::Span, alloc::string::String>
             2: <rustc_borrowck::diagnostics::region_errors::RegionErrors>::push::<rustc_borrowck::diagnostics::region_errors::RegionErrorKind>
             3: <rustc_borrowck::region_infer::RegionInferenceContext>::solve
             4: rustc_borrowck::nll::compute_regions
             5: rustc_borrowck::do_mir_borrowck
             6: rustc_borrowck::mir_borrowck
             7: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
             8: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
             9: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
            10: rustc_interface::passes::analysis
            11: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
            12: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
            13: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            14: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
            15: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            16: std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            17: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            18: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
            19: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
            20: std::sys::unix::thread::Thread::new::thread_start
                       at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys/unix/thread.rs:108:17
            21: <unknown>
            22: <unknown>


error: internal compiler error: TypeTestError { type_test: TypeTest { generic_kind: T/#1, lower_bound: '_#25r, span: 3e08e5ca509f99c99abb1d26030032936768debc.rs:33:9: 38:11 (#0), verify_bound: AnyBound([OutlivedBy('_#2r), OutlivedBy('_#5r)]) } }
  |
  = note: delayed at    0: <rustc_errors::HandlerInner>::emit_diagnostic
             1: <rustc_errors::Handler>::delay_span_bug::<rustc_span::span_encoding::Span, alloc::string::String>
             2: <rustc_borrowck::diagnostics::region_errors::RegionErrors>::push::<rustc_borrowck::diagnostics::region_errors::RegionErrorKind>
             3: <rustc_borrowck::region_infer::RegionInferenceContext>::solve
             4: rustc_borrowck::nll::compute_regions
             5: rustc_borrowck::do_mir_borrowck
             6: rustc_borrowck::mir_borrowck
             7: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
             8: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
             9: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
            10: rustc_interface::passes::analysis
            11: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
            12: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
            13: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            14: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
            15: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            16: std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
            17: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            18: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
            19: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                       at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
            20: std::sys::unix::thread::Thread::new::thread_start
                       at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys/unix/thread.rs:108:17
            21: <unknown>
            22: <unknown>


error: internal compiler error: `compute_regions` tainted `infcx` with errors but did not emit any errors
  --> 3e08e5ca509f99c99abb1d26030032936768debc.rs:31:5
   |
31 | /     fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
32 | |         let me = self.project();
33 | |         me.local_set.with(|| {
34 | |             let _ = cx.waker();
...  |
38 | |         })
39 | |     }
   | |_____^
   |
   = note: delayed at    0: <rustc_errors::HandlerInner>::emit_diagnostic
              1: <rustc_errors::Handler>::delay_span_bug::<rustc_span::span_encoding::Span, &str>
              2: rustc_borrowck::nll::compute_regions
              3: rustc_borrowck::do_mir_borrowck
              4: rustc_borrowck::mir_borrowck
              5: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
              6: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
              7: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
              8: rustc_interface::passes::analysis
              9: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
             10: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
             11: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
             12: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
             13: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
             14: std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
             15: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
             16: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                        at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
             17: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                        at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
             18: std::sys::unix::thread::Thread::new::thread_start
                        at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys/unix/thread.rs:108:17
             19: <unknown>
             20: <unknown>


error: internal compiler error: diagnostic buffered but not emitted
  --> 3e08e5ca509f99c99abb1d26030032936768debc.rs:32:18
   |
32 |         let me = self.project();
   |                  ^^^^^^^^^^^^^^
   |
   = note: delayed at    0: <rustc_errors::HandlerInner>::emit_diagnostic
              1: <rustc_errors::Handler>::delay_span_bug::<rustc_error_messages::MultiSpan, &str>
              2: <rustc_borrowck::error::BorrowckErrors>::buffer_error
              3: rustc_borrowck::do_mir_borrowck
              4: rustc_borrowck::mir_borrowck
              5: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::mir_borrowck, rustc_query_impl::plumbing::QueryCtxt>
              6: rustc_data_structures::sync::par_for_each_in::<&[rustc_span::def_id::LocalDefId], <rustc_middle::hir::map::Map>::par_body_owners<rustc_interface::passes::analysis::{closure#2}::{closure#0}>::{closure#0}>
              7: <rustc_session::session::Session>::time::<(), rustc_interface::passes::analysis::{closure#2}>
              8: rustc_interface::passes::analysis
              9: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
             10: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
             11: <rustc_interface::passes::QueryContext>::enter::<rustc_driver::run_compiler::{closure#1}::{closure#2}::{closure#3}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
             12: rustc_span::with_source_map::<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
             13: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
             14: std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>
             15: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_errors::ErrorGuaranteed>, rustc_driver::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_errors::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
             16: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                        at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
             17: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once
                        at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/alloc/src/boxed.rs:1988:9
             18: std::sys::unix::thread::Thread::new::thread_start
                        at /rustc/ef982929c0b653436a6ea6892a2a839fba7c8b57/library/std/src/sys/unix/thread.rs:108:17
             19: <unknown>
             20: <unknown>


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.69.0-nightly (ef982929c 2023-01-27) running on x86_64-unknown-linux-gnu

query stack during panic:
end of query stack
thread panicked while panicking. aborting.
[2]    1819082 IOT instruction (core dumped)  rustc 3e08e5ca509f99c99abb1d26030032936768debc.rs

Anything else?

No response

@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 Jan 28, 2023
@compiler-errors
Copy link
Member

I think @Nilstrieb fixed this in #107422

@compiler-errors
Copy link
Member

Also, the primary error here is:

thread 'rustc' panicked at 'index out of bounds: the len is 1 but the index is 6',

Not

internal compiler error: TypeTestError

That second one is just a delayed ICE that was emitted during the stack unwind of the first ICE.

@langston-barrett
Copy link

Were there special flags needed for this? Couldn't reproduce on

rustc 1.70.0-nightly (511364e78 2023-03-16)
binary: rustc
commit-hash: 511364e7874dba9649a264100407e4bffe7b5425
commit-date: 2023-03-16
host: x86_64-unknown-linux-gnu
release: 1.70.0-nightly
LLVM version: 15.0.7

@Noratrieb
Copy link
Member

As Matthias mentioned, I fixed this already. I don't think it's worth adding a second test, as this test would probably further minimize to the exact same code.

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

4 participants