rust-lang / rust-lang/rust-analyzer
panic: Unexpected type for `Variant(EnumVariantContiguousIndex(0))`
Open
Nobody has claimed this yet.
C-bug
I-panic
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
this compiles wirh rustc but ra with debug assertions panics ( rust-analyzer analysis-stats . --run-all-ide-thing )
struct Inv<'a>(&'a mut &'a ());
enum Foo<T> {
Bar,
Var(T),
}
type Subtype = Foo<for<'a, 'b> fn(Inv<'a>, Inv<'b>)>;
type Supertype = Foo<for<'a> fn(Inv<'a>, Inv<'a>)>;
fn foo() -> impl Sized {
loop {
match foo() {
Subtype::Bar => (),
Supertype::Var(x) => {}
}
}
}
pub fn main() {}
Database loaded: 326.60ms, 223minstr, 48mb (metadata 163.37ms, 972kinstr, 155kb; build 29.54ms, 172kinstr, 1440b)
item trees: 1
dependency lines of code: 1_478_357, item trees: 2_969
dependency item stats: traits: 860, impl: 9_717, mods: 3_002, macro calls: 5_613, macro rules: 1_062
Item Tree Collection: 2.66s, 28ginstr, 431mb
Total Statistics:
crates: 1, mods: 1, decls: 6, bodies: 4, adts: 2, consts: 0, signatures: 6, variants: 3
Workspace:
traits: 0, macro_rules macros: 0, proc_macros: 0
lines of code: 18, item trees: 1
usages: traits: 0, impl: 0, mods: 0, macro calls: 0, macro rules: 0
Dependencies:
lines of code: 1_478_357, item trees: 2_969
declarations: traits: 860, impl: 9_717, mods: 3_002, macro calls: 5_613, macro rules: 1_062
Item Collection: 1.46s, 13ginstr, 176mb
Crate lang items: 283.06ms, 2906minstr, 31mb
Expression Store Lowering: 256.86µs, 847kinstr, 15kb
exprs: 11, ??ty: 0 (0%), ?ty: 0 (0%), !ty: 0
pats: 3, ??ty: 0 (0%), ?ty: 0 (0%), !ty: 0
panics: 0
Inference: 229.52ms, 1529minstr, 35mb
MIR lowering: 83.27µs, 209kinstr, 23kb
Mir failed bodies: 1 (50%)
Data layouts: 2.38µs, 16kinstr, 0b
Failed data layouts: 0 (100%)
Const evaluation: 18.44µs, 77kinstr, 368b
Failed const evals: 0 (100%)
0/1 0% diagnostics: /tmp/im/f/src/main.rs
thread 'main' (23215) panicked at crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs:380:21:
internal error: entered unreachable code: Unexpected type for `Variant(EnumVariantContiguousIndex(0))` constructor: Alias(AliasTy { args: [], kind: Opaque { def_id: InternedOpaqueTyId(InternedOpaqueTyId(Id(15d00))) }, .. })
stack backtrace:
0: 0x5614217af1f1 - std[71a467343b18a2c1]::backtrace_rs::backtrace::libunwind::trace
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: 0x5614217af1f1 - std[71a467343b18a2c1]::backtrace_rs::backtrace::trace_unsynchronized::<std[71a467343b18a2c1]::sys::backtrace::_print_fmt::{closure#1}>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
2: 0x5614217af1f1 - std[71a467343b18a2c1]::sys::backtrace::_print_fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/sys/backtrace.rs:74:9
3: 0x5614217af1f1 - <<std[71a467343b18a2c1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[11918ecc8322c3ee]::fmt::Display>::fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/sys/backtrace.rs:44:26
4: 0x5614217cbe2a - <core[11918ecc8322c3ee]::fmt::rt::Argument>::fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/core/src/fmt/rt.rs:152:76
5: 0x5614217cbe2a - core[11918ecc8322c3ee]::fmt::write
6: 0x5614217b8b6c - core[11918ecc8322c3ee]::io::write::default_write_fmt::<std[71a467343b18a2c1]::sys::stdio::unix::Stderr>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/core/src/io/write.rs:402:11
7: 0x5614217b8b6c - <std[71a467343b18a2c1]::sys::stdio::unix::Stderr as core[11918ecc8322c3ee]::io::write::Write>::write_fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/core/src/io/write.rs:335:13
8: 0x561421785ee6 - <std[71a467343b18a2c1]::sys::backtrace::BacktraceLock>::print
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/sys/backtrace.rs:47:9
9: 0x561421785ee6 - std[71a467343b18a2c1]::panicking::default_hook::{closure#0}
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:289:27
10: 0x5614217a4f81 - std[71a467343b18a2c1]::panicking::default_hook
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:316:9
11: 0x5614217a52ab - std[71a467343b18a2c1]::panicking::panic_with_hook
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:811:13
12: 0x561421785f92 - std[71a467343b18a2c1]::panicking::panic_handler::{closure#0}
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:685:13
13: 0x56142177d169 - std[71a467343b18a2c1]::sys::backtrace::__rust_end_short_backtrace::<std[71a467343b18a2c1]::panicking::panic_handler::{closure#0}, !>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/sys/backtrace.rs:182:18
14: 0x561421786dcd - __rustc[3b8ba45af69cfb7c]::rust_begin_unwind
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:676:5
15: 0x5614217cc6fc - core[11918ecc8322c3ee]::panicking::panic_fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/core/src/panicking.rs:80:14
16: 0x561421152e14 - <hir_ty[c6020b5b036d7a82]::diagnostics::match_check::pat_analysis::MatchCheckCtx as ra_ap_rustc_pattern_analysis[89059be1c093763]::PatCx>::ctor_sub_tys
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs:380:21
17: 0x561420dd2f75 - <ra_ap_rustc_pattern_analysis[89059be1c093763]::usefulness::PlaceInfo<hir_ty[c6020b5b036d7a82]::diagnostics::match_check::pat_analysis::MatchCheckCtx>>::specialize
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ra-ap-rustc_pattern_analysis-0.166.0/src/usefulness.rs:912:31
18: 0x561420dd2f75 - <ra_ap_rustc_pattern_analysis[89059be1c093763]::usefulness::Matrix<hir_ty[c6020b5b036d7a82]::diagnostics::match_check::pat_analysis::MatchCheckCtx>>::specialize_constructor
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ra-ap-rustc_pattern_analysis-0.166.0/src/usefulness.rs:1303:58
19: 0x561420dd2f75 - ra_ap_rustc_pattern_analysis[89059be1c093763]::usefulness::compute_exhaustiveness_and_usefulness::<hir_ty[c6020b5b036d7a82]::diagnostics::match_check::pat_analysis::MatchCheckCtx>::{closure#0}
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ra-ap-rustc_pattern_analysis-0.166.0/src/usefulness.rs:1754:38
20: 0x561420dd2f75 - ra_ap_rustc_pattern_analysis[89059be1c093763]::usefulness::compute_exhaustiveness_and_usefulness::<hir_ty[c6020b5b036d7a82]::diagnostics::match_check::pat_analysis::MatchCheckCtx>
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ra-ap-rustc_pattern_analysis-0.166.0/src/usefulness.rs:1703:1
21: 0x561420fc0de7 - ra_ap_rustc_pattern_analysis[89059be1c093763]::usefulness::compute_match_usefulness::<hir_ty[c6020b5b036d7a82]::diagnostics::match_check::pat_analysis::MatchCheckCtx>
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ra-ap-rustc_pattern_analysis-0.166.0/src/usefulness.rs:1854:40
22: 0x561420fc0de7 - <hir_ty[c6020b5b036d7a82]::diagnostics::match_check::pat_analysis::MatchCheckCtx>::compute_match_usefulness
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs:105:9
23: 0x561420f45e0a - <hir_ty[c6020b5b036d7a82]::diagnostics::expr::ExprValidator>::validate_match
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/diagnostics/expr.rs:256:22
24: 0x561420f45e0a - <hir_ty[c6020b5b036d7a82]::diagnostics::expr::ExprValidator>::validate_body
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/diagnostics/expr.rs:143:26
25: 0x561420f45e0a - <hir_ty[c6020b5b036d7a82]::diagnostics::expr::BodyValidationDiagnostic>::collect
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/diagnostics/expr.rs:99:19
26: 0x561420c8d2a2 - <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_def_with_body
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir/src/diagnostics.rs:1281:27
27: 0x561420c8b4e9 - <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module_def
28: 0x561420c881bf - <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir/src/diagnostics.rs:1148:34
29: 0x561420c881bf - core[11918ecc8322c3ee]::iter::traits::iterator::Iterator::for_each::call::<hir_def[b797b053043be09c]::ModuleDefId, <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}>::{closure#0}
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:884:29
30: 0x561420c881bf - <&mut core[11918ecc8322c3ee]::iter::traits::iterator::Iterator::for_each::call<hir_def[b797b053043be09c]::ModuleDefId, <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}>::{closure#0} as core[11918ecc8322c3ee]::ops::function::FnMut<((), hir_def[b797b053043be09c]::ModuleDefId)>>::call_mut
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:298:21
31: 0x561420c881bf - core[11918ecc8322c3ee]::iter::adapters::copied::copy_fold::<hir_def[b797b053043be09c]::ModuleDefId, (), &mut core[11918ecc8322c3ee]::iter::traits::iterator::Iterator::for_each::call<hir_def[b797b053043be09c]::ModuleDefId, <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}>::{closure#0}>::{closure#0}
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/copied.rs:36:22
32: 0x561420c881bf - <core[11918ecc8322c3ee]::slice::iter::Iter<hir_def[b797b053043be09c]::ModuleDefId> as core[11918ecc8322c3ee]::iter::traits::iterator::Iterator>::fold::<(), core[11918ecc8322c3ee]::iter::adapters::copied::copy_fold<hir_def[b797b053043be09c]::ModuleDefId, (), &mut core[11918ecc8322c3ee]::iter::traits::iterator::Iterator::for_each::call<hir_def[b797b053043be09c]::ModuleDefId, <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}>::{closure#0}>::{closure#0}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/slice/iter/macros.rs:274:27
33: 0x561420c881bf - <core[11918ecc8322c3ee]::iter::adapters::copied::Copied<core[11918ecc8322c3ee]::slice::iter::Iter<hir_def[b797b053043be09c]::ModuleDefId>> as core[11918ecc8322c3ee]::iter::traits::iterator::Iterator>::fold::<(), &mut core[11918ecc8322c3ee]::iter::traits::iterator::Iterator::for_each::call<hir_def[b797b053043be09c]::ModuleDefId, <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}>::{closure#0}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/copied.rs:81:17
34: 0x561420c881bf - <core[11918ecc8322c3ee]::iter::adapters::chain::Chain<core[11918ecc8322c3ee]::iter::adapters::copied::Copied<core[11918ecc8322c3ee]::slice::iter::Iter<hir_def[b797b053043be09c]::ModuleDefId>>, core[11918ecc8322c3ee]::iter::adapters::map::Map<core[11918ecc8322c3ee]::iter::adapters::copied::Copied<core[11918ecc8322c3ee]::slice::iter::Iter<hir_def[b797b053043be09c]::ConstId>>, hir_def[b797b053043be09c]::ModuleDefId::ConstId>> as core[11918ecc8322c3ee]::iter::traits::iterator::Iterator>::fold::<(), core[11918ecc8322c3ee]::iter::traits::iterator::Iterator::for_each::call<hir_def[b797b053043be09c]::ModuleDefId, <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}>::{closure#0}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/chain.rs:121:21
35: 0x561420c881bf - <core[11918ecc8322c3ee]::iter::adapters::chain::Chain<core[11918ecc8322c3ee]::iter::adapters::copied::Copied<core[11918ecc8322c3ee]::slice::iter::Iter<hir_def[b797b053043be09c]::ModuleDefId>>, core[11918ecc8322c3ee]::iter::adapters::map::Map<core[11918ecc8322c3ee]::iter::adapters::copied::Copied<core[11918ecc8322c3ee]::slice::iter::Iter<hir_def[b797b053043be09c]::ConstId>>, hir_def[b797b053043be09c]::ModuleDefId::ConstId>> as core[11918ecc8322c3ee]::iter::traits::iterator::Iterator>::for_each::<<hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module::{closure#1}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/traits/iterator.rs:887:14
36: 0x561420c881bf - <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect_module
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir/src/diagnostics.rs:1148:14
37: 0x561420c9a226 - <hir[c7ad7fe945aa0503]::diagnostics::DiagnosticsCollector>::collect
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir/src/diagnostics.rs:766:14
38: 0x561420c9a226 - <hir[c7ad7fe945aa0503]::Module>::diagnostics
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir/src/lib.rs:699:9
39: 0x5614206dfd66 - ide_diagnostics[6dc3f02d39f00f14]::semantic_diagnostics
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/ide-diagnostics/src/lib.rs:432:19
40: 0x5614206da202 - ide_diagnostics[6dc3f02d39f00f14]::full_diagnostics
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/ide-diagnostics/src/lib.rs:603:16
41: 0x56142055c1ed - <ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/ide/src/lib.rs:829:27
42: 0x56142055c1ed - <ide[fb707b7c9d152f80]::Analysis>::with_db::<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}::{closure#0}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/ide/src/lib.rs:975:70
43: 0x56142055c1ed - std[71a467343b18a2c1]::panicking::catch_unwind::do_call::<<ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:573:43
44: 0x56142055c1ed - std[71a467343b18a2c1]::panicking::catch_unwind::<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, <ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}::{closure#0}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:541:19
45: 0x56142055c1ed - std[71a467343b18a2c1]::panic::catch_unwind::<<ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359:14
46: 0x56142055c1ed - <salsa[5d03113ac9f39ed2]::cancelled::Cancelled>::catch::<<ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/cancelled.rs:36:15
47: 0x56142055c1ed - <ide[fb707b7c9d152f80]::Analysis>::with_db::<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/ide/src/lib.rs:975:50
48: 0x56142055c1ed - <hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::Attached>::attach_allow_change::<core[11918ecc8322c3ee]::result::Result<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, salsa[5d03113ac9f39ed2]::cancelled::Cancelled>, <ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}>
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/next_solver/interner.rs:2482:13
49: 0x56142055c1ed - hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::attach_db_allow_change::<core[11918ecc8322c3ee]::result::Result<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, salsa[5d03113ac9f39ed2]::cancelled::Cancelled>, <ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}>::{closure#0}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/next_solver/interner.rs:2505:46
50: 0x56142055c1ed - <std[71a467343b18a2c1]::thread::local::LocalKey<hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::Attached>>::try_with::<hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::attach_db_allow_change<core[11918ecc8322c3ee]::result::Result<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, salsa[5d03113ac9f39ed2]::cancelled::Cancelled>, <ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}>::{closure#0}, core[11918ecc8322c3ee]::result::Result<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, salsa[5d03113ac9f39ed2]::cancelled::Cancelled>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:463:12
51: 0x56142055c1ed - <std[71a467343b18a2c1]::thread::local::LocalKey<hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::Attached>>::with::<hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::attach_db_allow_change<core[11918ecc8322c3ee]::result::Result<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, salsa[5d03113ac9f39ed2]::cancelled::Cancelled>, <ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}>::{closure#0}, core[11918ecc8322c3ee]::result::Result<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, salsa[5d03113ac9f39ed2]::cancelled::Cancelled>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:427:20
52: 0x56142055c1ed - hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::attach_db_allow_change::<core[11918ecc8322c3ee]::result::Result<alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>, salsa[5d03113ac9f39ed2]::cancelled::Cancelled>, <ide[fb707b7c9d152f80]::Analysis>::with_db<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>::{closure#0}>
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/next_solver/interner.rs:2505:19
53: 0x56142055c1ed - <ide[fb707b7c9d152f80]::Analysis>::with_db::<<ide[fb707b7c9d152f80]::Analysis>::full_diagnostics::{closure#0}, alloc[b37a3ff7fa4d5f32]::vec::Vec<ide_diagnostics[6dc3f02d39f00f14]::Diagnostic>>
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/ide/src/lib.rs:975:9
54: 0x56142055c1ed - <ide[fb707b7c9d152f80]::Analysis>::full_diagnostics
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/ide/src/lib.rs:829:14
55: 0x56142009f67f - <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run_ide_things
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/cli/analysis_stats.rs:1354:26
56: 0x56142009f67f - <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/cli/analysis_stats.rs:382:18
57: 0x56141fdca70b - rust_analyzer[e285ded21ab2a89]::actual_main
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/bin/main.rs:74:59
58: 0x56141fdca70b - rust_analyzer[e285ded21ab2a89]::main
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/bin/main.rs:32:9
59: 0x56141fdc56eb - <fn() -> core[11918ecc8322c3ee]::result::Result<std[71a467343b18a2c1]::process::ExitCode, anyhow[9bbca5dfff5fb2cc]::Error> as core[11918ecc8322c3ee]::ops::function::FnOnce<()>>::call_once
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
60: 0x56141fdc56eb - std[71a467343b18a2c1]::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core[11918ecc8322c3ee]::result::Result<std[71a467343b18a2c1]::process::ExitCode, anyhow[9bbca5dfff5fb2cc]::Error>, core[11918ecc8322c3ee]::result::Result<std[71a467343b18a2c1]::process::ExitCode, anyhow[9bbca5dfff5fb2cc]::Error>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:166:18
61: 0x56141fdc7e12 - std[71a467343b18a2c1]::rt::lang_start::<core[11918ecc8322c3ee]::result::Result<std[71a467343b18a2c1]::process::ExitCode, anyhow[9bbca5dfff5fb2cc]::Error>>::{closure#0}
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:206:18
62: 0x5614217a3e28 - <&dyn core[11918ecc8322c3ee]::ops::function::Fn<(), Output = i32> + core[11918ecc8322c3ee]::panic::unwind_safe::RefUnwindSafe + core[11918ecc8322c3ee]::marker::Sync as core[11918ecc8322c3ee]::ops::function::FnOnce<()>>::call_once
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/core/src/ops/function.rs:287:21
63: 0x5614217a3e28 - std[71a467343b18a2c1]::panicking::catch_unwind::do_call::<&dyn core[11918ecc8322c3ee]::ops::function::Fn<(), Output = i32> + core[11918ecc8322c3ee]::panic::unwind_safe::RefUnwindSafe + core[11918ecc8322c3ee]::marker::Sync, i32>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:573:43
64: 0x5614217a3e28 - std[71a467343b18a2c1]::panicking::catch_unwind::<i32, &dyn core[11918ecc8322c3ee]::ops::function::Fn<(), Output = i32> + core[11918ecc8322c3ee]::panic::unwind_safe::RefUnwindSafe + core[11918ecc8322c3ee]::marker::Sync>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:541:19
65: 0x5614217a3e28 - std[71a467343b18a2c1]::panic::catch_unwind::<&dyn core[11918ecc8322c3ee]::ops::function::Fn<(), Output = i32> + core[11918ecc8322c3ee]::panic::unwind_safe::RefUnwindSafe + core[11918ecc8322c3ee]::marker::Sync, i32>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panic.rs:359:14
66: 0x5614217a3e28 - std[71a467343b18a2c1]::rt::lang_start_internal::{closure#0}
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/rt.rs:175:24
67: 0x5614217a3e28 - std[71a467343b18a2c1]::panicking::catch_unwind::do_call::<std[71a467343b18a2c1]::rt::lang_start_internal::{closure#0}, isize>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:573:43
68: 0x5614217a3e28 - std[71a467343b18a2c1]::panicking::catch_unwind::<isize, std[71a467343b18a2c1]::rt::lang_start_internal::{closure#0}>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:541:19
69: 0x5614217a3e28 - std[71a467343b18a2c1]::panic::catch_unwind::<std[71a467343b18a2c1]::rt::lang_start_internal::{closure#0}, isize>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panic.rs:359:14
70: 0x5614217a3e28 - std[71a467343b18a2c1]::rt::lang_start_internal
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/rt.rs:171:5
71: 0x56141fddff7f - main
72: 0x7f31e6427781 - <unknown>
73: 0x7f31e64278b9 - __libc_start_main
74: 0x56141fdb31c5 - _start
ra @ 6aeeb8cf02741e5da07a1615a05faa506cecb21a
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the panic with the supplied Rust example using rust-analyzer analysis-stats --run-all-ide-thing. Start in crates/hir-ty/src/diagnostics/match_check/pat_analysis.rs, especially ctor_sub_tys, and inspect the caller in crates/hir-ty/src/diagnostics/expr.rs. Done means the example no longer panics under debug assertions and match diagnostics still run successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100