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: debug assertions: E0061 suggests garbage code if struct name == fn name #110745

Open
matthiaskrgr opened this issue Apr 23, 2023 · 2 comments
Labels
A-diagnostics Area: Messages for errors, warnings, and lints 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 a build of rustc or tooling with 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

You need debug assertions for the ice!

#![crate_type="lib"]

#[derive(Clone)]
struct A<T, U>(T, U);

fn A() {}

Meta

rustc --version --verbose:

<version>

Error output

error[E0428]: the name `A` is defined multiple times
 --> EE2C38A2D5621C3FBE37D753F1BC19AFC487F6962D8B7E352367BEA9C0337700.rs:6:1
  |
4 | struct A<T, U>(T, U);
  | --------------------- previous definition of the value `A` here
5 |
6 | fn A() {}
  | ^^^^^^ `A` redefined here
  |
  = note: `A` must be defined only once in the value namespace of this module

error[E0061]: this function takes 0 arguments but 2 arguments were supplied
 --> EE2C38A2D5621C3FBE37D753F1BC19AFC487F6962D8B7E352367BEA9C0337700.rs:3:10
  |
3 | #[derive(Clone)]
  |          ^^^^^
4 | struct A<T, U>(T, U);
  |                -  - unexpected argument of type `U`
  |                |
  |                unexpected argument of type `T`
  |
note: function defined here
 --> EE2C38A2D5621C3FBE37D753F1BC19AFC487F6962D8B7E352367BEA9C0337700.rs:6:4
  |
6 | fn A() {}
  |    ^
  = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)
help: remove the extra arguments
  |
3 - #[derive(Clone)]
4 - struct A<T, U>(T, U);
3 + #[derive(Clon, U);
  |

error[E0308]: mismatched types
 --> EE2C38A2D5621C3FBE37D753F1BC19AFC487F6962D8B7E352367BEA9C0337700.rs:3:10
  |
3 | #[derive(Clone)]
  |          ^^^^^
  |          |
  |          expected `A<T, U>`, found `()`
  |          expected `A<T, U>` because of return type
  |
  = note: expected struct `A<T, U>`
          found unit type `()`
  = note: this error originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0061, E0308, E0428.
For more information about an error, try `rustc --explain E0061`.

The

3 - #[derive(Clone)]
4 - struct A<T, U>(T, U);
3 + #[derive(Clon, U);

part is especially interesting 😆

wtf_rust

Backtrace

error[E0428]: the name `A` is defined multiple times
 --> EE2C38A2D5621C3FBE37D753F1BC19AFC487F6962D8B7E352367BEA9C0337700.rs:6:1
  |
4 | struct A<T, U>(T, U);
  | --------------------- previous definition of the value `A` here
5 |
6 | fn A() {}
  | ^^^^^^ `A` redefined here
  |
  = note: `A` must be defined only once in the value namespace of this module
thread 'rustc' panicked at 'assertion failed: `(left == right)`
  left: `Some([SubstitutionPart { span: EE2C38A2D5621C3FBE37D753F1BC19AFC487F6962D8B7E352367BEA9C0337700.rs:3:14: 4:17 (#4), snippet: "" }, SubstitutionPart { span: EE2C38A2D5621C3FBE37D753F1BC19AFC487F6962D8B7E352367BEA9C0337700.rs:4:16: 4:17 (#4), snippet: "" }])`,
 right: `None`: suggestion must not have overlapping parts', /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/diagnostic.rs:632:9
stack backtrace:
   0:     0x7fc8e32feeb0 - std::backtrace_rs::backtrace::libunwind::trace::hbf78ef88fed844ac
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7fc8e32feeb0 - std::backtrace_rs::backtrace::trace_unsynchronized::h35213943d90d267c
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7fc8e32feeb0 - std::sys_common::backtrace::_print_fmt::h22ba8bfb93a0a925
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x7fc8e32feeb0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4d082456b766373f
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x7fc8e33adec8 - core::fmt::write::he3860e7dd81c785d
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/fmt/mod.rs:1247:17
   5:     0x7fc8e331403f - std::io::Write::write_fmt::he5c3c49e127ce77e
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/io/mod.rs:1712:15
   6:     0x7fc8e32fecb5 - std::sys_common::backtrace::_print::hbf9982c7c009c352
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x7fc8e32fecb5 - std::sys_common::backtrace::print::h8ed700e06ac6907c
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x7fc8e333d1c3 - std::panicking::default_hook::{{closure}}::h51962e62c530968d
   9:     0x7fc8e333cdf9 - std::panicking::default_hook::h4d87bf54451529eb
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:293:9
  10:     0x7fc8e5b70905 - <alloc[32b43e9536c01a3]::boxed::Box<dyn for<'a, 'b> core[c5d5d662f7508502]::ops::function::Fn<(&'a core[c5d5d662f7508502]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[c5d5d662f7508502]::marker::Send + core[c5d5d662f7508502]::marker::Sync> as core[c5d5d662f7508502]::ops::function::Fn<(&core[c5d5d662f7508502]::panic::panic_info::PanicInfo,)>>::call
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1976:9
  11:     0x7fc8e5b70905 - rustc_driver_impl[17d9f77bedede00f]::DEFAULT_HOOK::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_driver_impl/src/lib.rs:1208:17
  12:     0x7fc8e333db12 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hadc44a34952fbfd6
                               at /home/matthias/vcs/github/rust_debug_assertions/library/alloc/src/boxed.rs:1976:9
  13:     0x7fc8e333db12 - std::panicking::rust_panic_with_hook::h5a54165269cb41b9
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:704:13
  14:     0x7fc8e32ff68e - std::panicking::begin_panic_handler::{{closure}}::h20e65ba4620c9639
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:595:13
  15:     0x7fc8e32fef96 - std::sys_common::backtrace::__rust_end_short_backtrace::heb6999246060ea55
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/sys_common/backtrace.rs:150:18
  16:     0x7fc8e333d652 - rust_begin_unwind
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/panicking.rs:584:5
  17:     0x7fc8e33c8373 - core::panicking::panic_fmt::h446694351a19189a
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:67:14
  18:     0x7fc8e33c8a33 - core::panicking::assert_failed_inner::hf5d9d5304461a0b9
  19:     0x7fc8e624eae9 - core[c5d5d662f7508502]::panicking::assert_failed::<core[c5d5d662f7508502]::option::Option<&[rustc_errors[a8991bf26d602792]::SubstitutionPart; 2usize]>, core[c5d5d662f7508502]::option::Option<&[rustc_errors[a8991bf26d602792]::SubstitutionPart; 2usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/panicking.rs:228:5
  20:     0x7fc8e6375c45 - <rustc_errors[a8991bf26d602792]::diagnostic::Diagnostic>::multipart_suggestion_with_style::<&alloc[32b43e9536c01a3]::string::String>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/diagnostic.rs:632:9
  21:     0x7fc8e618972b - <rustc_errors[a8991bf26d602792]::diagnostic::Diagnostic>::multipart_suggestion::<&alloc[32b43e9536c01a3]::string::String>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/diagnostic.rs:588:9
  22:     0x7fc8e618972b - <rustc_errors[a8991bf26d602792]::diagnostic_builder::DiagnosticBuilder<rustc_span[586fe534fb00e1b1]::ErrorGuaranteed>>::multipart_suggestion::<&alloc[32b43e9536c01a3]::string::String>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_errors/src/diagnostic_builder.rs:481:35
  23:     0x7fc8e618972b - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::report_arg_errors
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs:1221:17
  24:     0x7fc8e6184e79 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_argument_types
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs:453:13
  25:     0x7fc8e614871f - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::confirm_builtin_call
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/callee.rs:460:9
  26:     0x7fc8e6146ccc - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_call
  27:     0x7fc8e61df4e9 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_kind
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:336:45
  28:     0x7fc8e61620ec - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:240:18
  29:     0x7fc8e61620ec - stacker[f871904c967749]::maybe_grow::<rustc_middle[8ef286a0c1cfdec]::ty::Ty, <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args::{closure#0}>
                               at /home/matthias/.cargo/registry/src/gh.neting.cc-1ecc6299db9ec823/stacker-0.1.15/src/lib.rs:55:9
  30:     0x7fc8e61620ec - rustc_data_structures[e2bc31891c4386a2]::stack::ensure_sufficient_stack::<rustc_middle[8ef286a0c1cfdec]::ty::Ty, <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:17:5
  31:     0x7fc8e61620ec - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:236:18
  32:     0x7fc8e61ddea2 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:190:9
  33:     0x7fc8e618dc99 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_block_with_expected::{closure#0}::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs:1551:50
  34:     0x7fc8e618dc99 - <core[c5d5d662f7508502]::option::Option<&&rustc_hir[6b5be662643facdd]::hir::Expr>>::map::<rustc_middle[8ef286a0c1cfdec]::ty::Ty, <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_block_with_expected::{closure#0}::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/core/src/option.rs:1089:29
  35:     0x7fc8e618dc99 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_block_with_expected::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs:1551:42
  36:     0x7fc8e618dc99 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::with_breakable_ctxt::<<rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_block_with_expected::{closure#0}, ()>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/fn_ctxt/_impl.rs:1468:22
  37:     0x7fc8e618dc99 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_block_with_expected
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/fn_ctxt/checks.rs:1544:26
  38:     0x7fc8e61df139 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_kind
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:335:41
  39:     0x7fc8e61620ec - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:240:18
  40:     0x7fc8e61620ec - stacker[f871904c967749]::maybe_grow::<rustc_middle[8ef286a0c1cfdec]::ty::Ty, <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args::{closure#0}>
                               at /home/matthias/.cargo/registry/src/gh.neting.cc-1ecc6299db9ec823/stacker-0.1.15/src/lib.rs:55:9
  41:     0x7fc8e61620ec - rustc_data_structures[e2bc31891c4386a2]::stack::ensure_sufficient_stack::<rustc_middle[8ef286a0c1cfdec]::ty::Ty, <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_data_structures/src/stack.rs:17:5
  42:     0x7fc8e61620ec - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:236:18
  43:     0x7fc8e61ddea2 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_expectation
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:190:9
  44:     0x7fc8e6163f36 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_expr_with_hint
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:142:9
  45:     0x7fc8e6163f36 - <rustc_hir_typeck[6b842261c8b16f1c]::fn_ctxt::FnCtxt>::check_return_expr
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/expr.rs:832:30
  46:     0x7fc8e6369297 - rustc_hir_typeck[6b842261c8b16f1c]::check::check_fn
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/check.rs:122:9
  47:     0x7fc8e6292924 - rustc_hir_typeck[6b842261c8b16f1c]::typeck_with_fallback::<rustc_hir_typeck[6b842261c8b16f1c]::typeck::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/lib.rs:215:9
  48:     0x7fc8e6292924 - rustc_hir_typeck[6b842261c8b16f1c]::typeck_with_fallback::<rustc_hir_typeck[6b842261c8b16f1c]::typeck::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/lib.rs:175:36
  49:     0x7fc8e6292924 - rustc_hir_typeck[6b842261c8b16f1c]::typeck
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_hir_typeck/src/lib.rs:157:5
  50:     0x7fc8e776a9bc - <rustc_query_impl[d1b11ab99dd699c5]::queries::typeck as rustc_query_system[5cd5da38e1781535]::query::config::QueryConfig<rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>>::compute
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:524:21
  51:     0x7fc8e776a9bc - rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr::<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:464:72
  52:     0x7fc8e776a9bc - rustc_middle[8ef286a0c1cfdec]::ty::context::tls::enter_context::<rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:82:9
  53:     0x7fc8e776a9bc - <std[876bbee9698a2b49]::thread::local::LocalKey<core[c5d5d662f7508502]::cell::Cell<*const ()>>>::try_with::<rustc_middle[8ef286a0c1cfdec]::ty::context::tls::enter_context<rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:252:16
  54:     0x7fc8e776a9bc - <std[876bbee9698a2b49]::thread::local::LocalKey<core[c5d5d662f7508502]::cell::Cell<*const ()>>>::with::<rustc_middle[8ef286a0c1cfdec]::ty::context::tls::enter_context<rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/library/std/src/thread/local.rs:228:9
  55:     0x7fc8e776a9bc - rustc_middle[8ef286a0c1cfdec]::ty::context::tls::enter_context::<rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:79:9
  56:     0x7fc8e776a9bc - <rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt as rustc_query_system[5cd5da38e1781535]::query::QueryContext>::start_query::<rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:127:13
  57:     0x7fc8e776a9bc - rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_related_context::<<rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt as rustc_query_system[5cd5da38e1781535]::query::QueryContext>::start_query<rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:133:9
  58:     0x7fc8e776a9bc - rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_context::<rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_related_context<<rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt as rustc_query_system[5cd5da38e1781535]::query::QueryContext>::start_query<rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:111:36
  59:     0x7fc8e776a9bc - rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_context_opt::<rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_context<rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_related_context<<rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt as rustc_query_system[5cd5da38e1781535]::query::QueryContext>::start_query<rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:100:18
  60:     0x7fc8e776a9bc - rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_context::<rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_related_context<<rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt as rustc_query_system[5cd5da38e1781535]::query::QueryContext>::start_query<rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:111:5
  61:     0x7fc8e776a9bc - rustc_middle[8ef286a0c1cfdec]::ty::context::tls::with_related_context::<<rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt as rustc_query_system[5cd5da38e1781535]::query::QueryContext>::start_query<rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}>::{closure#0}, rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_middle/src/ty/context/tls.rs:124:5
  62:     0x7fc8e776a9bc - <rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt as rustc_query_system[5cd5da38e1781535]::query::QueryContext>::start_query::<rustc_middle[8ef286a0c1cfdec]::query::erase::Erased<[u8; 8usize]>, rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>::{closure#0}>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_impl/src/plumbing.rs:112:9
  63:     0x7fc8e776a9bc - rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job_non_incr::<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:464:18
  64:     0x7fc8e776a9bc - rustc_query_system[5cd5da38e1781535]::query::plumbing::execute_job::<rustc_query_impl[d1b11ab99dd699c5]::queries::typeck, rustc_query_impl[d1b11ab99dd699c5]::plumbing::QueryCtxt>
                               at /home/matthias/vcs/github/rust_debug_assertions/compiler/rustc_query_system/src/query/plumbing.rs:402:17
.....

@matthiaskrgr matthiaskrgr added A-diagnostics Area: Messages for errors, warnings, and lints 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. requires-debug-assertions This issue requires a build of rustc or tooling with debug-assertions in some way labels Apr 23, 2023
@Ezrashaw
Copy link
Contributor

Ezrashaw commented Apr 24, 2023

There might be a separate issue here about the "function" arguments. cc @estebank this might've regressed slightly in #106347. More work is definitely needed here (I'll have a go at this after the &mut stuff I think).

EDIT: this is a truly wonderful suggestion: #[derive(Clon, U);.

@estebank
Copy link
Contributor

We really need to land #109082 :-/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints 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 a build of rustc or tooling with 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

No branches or pull requests

3 participants