rust-lang / rust-lang/rust-analyzer
panic: unexpected type
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
struct Foo {
x: u32,
}
fn wut() -> impl Sized {
let foo = wut();
move || {
let Foo { x } = foo;
};
foo
}
fn main() {
let foo = wut();
move || {
let Foo { x } = foo;
};
}
ra @ f038160200ff20953ea6daa7aa9394a30a6de41a
rust-analyzer analysis-stats
Database loaded: 627.03ms, 223minstr, 48mb (metadata 323.01ms, 969kinstr, 153kb; build 30.64ms, 172kinstr, 1648b)
item trees: 1
dependency lines of code: 1_479_106, item trees: 2_971
dependency item stats: traits: 860, impl: 9_723, mods: 3_005, macro calls: 5_614, macro rules: 1_062
Item Tree Collection: 5.09s, 28ginstr, 431mb
Total Statistics:
crates: 1, mods: 1, decls: 3, bodies: 2, adts: 1, consts: 0, signatures: 3, variants: 1
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_479_106, item trees: 2_971
declarations: traits: 860, impl: 9_723, mods: 3_005, macro calls: 5_614, macro rules: 1_062
Item Collection: 2.87s, 13ginstr, 176mb
Crate lang items: 529.47ms, 2910minstr, 31mb
Expression Store Lowering: 358.22µs, 481kinstr, 8kb
exprs: 13, ??ty: 0 (0%), ?ty: 0 (0%), !ty: 0
pats: 6, ??ty: 0 (0%), ?ty: 0 (0%), !ty: 0
panics: 0
Inference: 422.92ms, 1529minstr, 35mb
2/2 100% mir lowering: f::main
thread 'main' (1651818) panicked at crates/hir-ty/src/mir/lower.rs:2028:22:
unexpected type
stack backtrace:
0: 0x564d5da121f1 - std[71a467343b18a2c1]::backtrace_rs::backtrace::libunwind::trace
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: 0x564d5da121f1 - 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: 0x564d5da121f1 - std[71a467343b18a2c1]::sys::backtrace::_print_fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/sys/backtrace.rs:74:9
3: 0x564d5da121f1 - <<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: 0x564d5da2ee2a - <core[11918ecc8322c3ee]::fmt::rt::Argument>::fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/core/src/fmt/rt.rs:152:76
5: 0x564d5da2ee2a - core[11918ecc8322c3ee]::fmt::write
6: 0x564d5da1bb6c - 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: 0x564d5da1bb6c - <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: 0x564d5d9e8ee6 - <std[71a467343b18a2c1]::sys::backtrace::BacktraceLock>::print
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/sys/backtrace.rs:47:9
9: 0x564d5d9e8ee6 - std[71a467343b18a2c1]::panicking::default_hook::{closure#0}
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:289:27
10: 0x564d5da07f81 - std[71a467343b18a2c1]::panicking::default_hook
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:316:9
11: 0x564d5da082ab - std[71a467343b18a2c1]::panicking::panic_with_hook
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:811:13
12: 0x564d5d9e8fc4 - std[71a467343b18a2c1]::panicking::panic_handler::{closure#0}
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:678:13
13: 0x564d5d9e0169 - 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: 0x564d5d9e9dcd - __rustc[3b8ba45af69cfb7c]::rust_begin_unwind
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:676:5
15: 0x564d5da2f6fc - core[11918ecc8322c3ee]::panicking::panic_fmt
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/core/src/panicking.rs:80:14
16: 0x564d5d1595e6 - hir_ty[c6020b5b036d7a82]::mir::lower::convert_closure_capture_projections::{closure#0}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:2028:22
17: 0x564d5d1595e6 - <&mut hir_ty[c6020b5b036d7a82]::mir::lower::convert_closure_capture_projections::{closure#0} as core[11918ecc8322c3ee]::ops::function::FnOnce<((usize, &hir_ty[c6020b5b036d7a82]::infer::closure::analysis::expr_use_visitor::Projection),)>>::call_once
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:310:21
18: 0x564d5d1595e6 - <core[11918ecc8322c3ee]::option::Option<(usize, &hir_ty[c6020b5b036d7a82]::infer::closure::analysis::expr_use_visitor::Projection)>>::map::<hir_ty[c6020b5b036d7a82]::mir::ProjectionElem<la_arena[80bf1e009e1378e8]::Idx<hir_ty[c6020b5b036d7a82]::mir::Local>>, &mut hir_ty[c6020b5b036d7a82]::mir::lower::convert_closure_capture_projections::{closure#0}>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:1165:29
19: 0x564d5d1595e6 - <core[11918ecc8322c3ee]::iter::adapters::map::Map<core[11918ecc8322c3ee]::iter::adapters::enumerate::Enumerate<core[11918ecc8322c3ee]::slice::iter::Iter<hir_ty[c6020b5b036d7a82]::infer::closure::analysis::expr_use_visitor::Projection>>, hir_ty[c6020b5b036d7a82]::mir::lower::convert_closure_capture_projections::{closure#0}> as core[11918ecc8322c3ee]::iter::traits::iterator::Iterator>::next
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/iter/adapters/map.rs:107:26
20: 0x564d5d1595e6 - <hir_ty[c6020b5b036d7a82]::mir::ProjectionElem<la_arena[80bf1e009e1378e8]::Idx<hir_ty[c6020b5b036d7a82]::mir::Local>> as ra_ap_rustc_type_ir[d972c936462dbb19]::interner::CollectAndApply<hir_ty[c6020b5b036d7a82]::mir::ProjectionElem<la_arena[80bf1e009e1378e8]::Idx<hir_ty[c6020b5b036d7a82]::mir::Local>>, hir_ty[c6020b5b036d7a82]::mir::Projection>>::collect_and_apply::<core[11918ecc8322c3ee]::iter::adapters::map::Map<core[11918ecc8322c3ee]::iter::adapters::enumerate::Enumerate<core[11918ecc8322c3ee]::slice::iter::Iter<hir_ty[c6020b5b036d7a82]::infer::closure::analysis::expr_use_visitor::Projection>>, hir_ty[c6020b5b036d7a82]::mir::lower::convert_closure_capture_projections::{closure#0}>, <hir_ty[c6020b5b036d7a82]::mir::Projection>::new_from_slice>
21: 0x564d5d1595e6 - <hir_ty[c6020b5b036d7a82]::mir::Projection>::new_from_iter::<core[11918ecc8322c3ee]::iter::adapters::map::Map<core[11918ecc8322c3ee]::iter::adapters::enumerate::Enumerate<core[11918ecc8322c3ee]::slice::iter::Iter<hir_ty[c6020b5b036d7a82]::infer::closure::analysis::expr_use_visitor::Projection>>, hir_ty[c6020b5b036d7a82]::mir::lower::convert_closure_capture_projections::{closure#0}>, hir_ty[c6020b5b036d7a82]::mir::ProjectionElem<la_arena[80bf1e009e1378e8]::Idx<hir_ty[c6020b5b036d7a82]::mir::Local>>>
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir.rs:243:9
22: 0x564d5d1595e6 - <hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerCtx>::lower_expr_to_place_without_adjust::{closure#11}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:1201:37
23: 0x564d5d25b28b - <hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerCtx>::lower_expr_to_place_without_adjust
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:1216:29
24: 0x564d5d1f9197 - <hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerCtx>::lower_expr_to_some_place_without_adjust
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower/as_place.rs:20:34
25: 0x564d5d1f77ac - <hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerCtx>::lower_expr_as_place
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower/as_place.rs:113:26
26: 0x564d5d256a71 - <hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerCtx>::lower_block_to_place
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:1803:45
27: 0x564d5d25a8a0 - <hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerCtx>::lower_expr_to_place_without_adjust
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:668:26
28: 0x564d5d25688b - <hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerCtx>::lower_expr_to_place
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:466:14
29: 0x564d5d308125 - hir_ty[c6020b5b036d7a82]::mir::lower::lower_to_mir_with_store::<core[11918ecc8322c3ee]::iter::adapters::zip::Zip<core[11918ecc8322c3ee]::iter::adapters::map::Map<core[11918ecc8322c3ee]::slice::iter::Iter<hir_def[b797b053043be09c]::expr_store::body::Param<la_arena[80bf1e009e1378e8]::Idx<hir_def[b797b053043be09c]::hir::Pat>>>, hir_ty[c6020b5b036d7a82]::mir::lower::lower_body_to_mir::{closure#1}>, core[11918ecc8322c3ee]::iter::adapters::copied::Copied<core[11918ecc8322c3ee]::slice::iter::Iter<hir_ty[c6020b5b036d7a82]::next_solver::ty::Ty>>>>
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:2338:32
30: 0x564d5d308125 - hir_ty[c6020b5b036d7a82]::mir::lower::lower_body_to_mir
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:2301:9
31: 0x564d5d38e5f2 - <hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_ as salsa[5d03113ac9f39ed2]::function::Configuration>::execute::inner_
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/mir/lower.rs:2256:22
32: 0x564d5d38e5f2 - <hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_ as salsa[5d03113ac9f39ed2]::function::Configuration>::execute
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-macro-rules-0.28.2/src/setup_tracked_fn.rs:350:21
33: 0x564d5d19087a - <salsa[5d03113ac9f39ed2]::function::IngredientImpl<hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_>>::execute_query
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/function/execute.rs:335:25
34: 0x564d5d19087a - <salsa[5d03113ac9f39ed2]::function::IngredientImpl<hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_>>::execute_maybe_iterate
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/function/execute.rs:179:49
35: 0x564d5d19087a - <salsa[5d03113ac9f39ed2]::function::IngredientImpl<hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_>>::execute
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/function/execute.rs:73:22
36: 0x564d5d305eff - <salsa[5d03113ac9f39ed2]::function::IngredientImpl<hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_>>::fetch_cold
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/function/fetch.rs:157:14
37: 0x564d5d305eff - <salsa[5d03113ac9f39ed2]::function::IngredientImpl<hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_>>::refresh_memo
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/function/fetch.rs:69:38
38: 0x564d5d305eff - <salsa[5d03113ac9f39ed2]::function::IngredientImpl<hir_ty[c6020b5b036d7a82]::mir::lower::_::mir_body_query_Configuration_>>::fetch
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/function/fetch.rs:29:25
39: 0x564d5d305eff - hir_ty[c6020b5b036d7a82]::mir::lower::mir_body_query::{closure#0}
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-macro-rules-0.28.2/src/setup_tracked_fn.rs:110:66
40: 0x564d5d305eff - <salsa[5d03113ac9f39ed2]::attach::Attached>::attach::<dyn hir_ty[c6020b5b036d7a82]::db::HirDatabase, core[11918ecc8322c3ee]::result::Result<&hir_ty[c6020b5b036d7a82]::mir::MirBody, &hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerError>, hir_ty[c6020b5b036d7a82]::mir::lower::mir_body_query::{closure#0}>
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/attach.rs:88:9
41: 0x564d5d305eff - salsa[5d03113ac9f39ed2]::attach::attach::<core[11918ecc8322c3ee]::result::Result<&hir_ty[c6020b5b036d7a82]::mir::MirBody, &hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerError>, dyn hir_ty[c6020b5b036d7a82]::db::HirDatabase, hir_ty[c6020b5b036d7a82]::mir::lower::mir_body_query::{closure#0}>::{closure#0}
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/attach.rs:178:15
42: 0x564d5d305eff - <std[71a467343b18a2c1]::thread::local::LocalKey<salsa[5d03113ac9f39ed2]::attach::Attached>>::try_with::<salsa[5d03113ac9f39ed2]::attach::attach<core[11918ecc8322c3ee]::result::Result<&hir_ty[c6020b5b036d7a82]::mir::MirBody, &hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerError>, dyn hir_ty[c6020b5b036d7a82]::db::HirDatabase, hir_ty[c6020b5b036d7a82]::mir::lower::mir_body_query::{closure#0}>::{closure#0}, core[11918ecc8322c3ee]::result::Result<&hir_ty[c6020b5b036d7a82]::mir::MirBody, &hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerError>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:463:12
43: 0x564d5d305eff - <std[71a467343b18a2c1]::thread::local::LocalKey<salsa[5d03113ac9f39ed2]::attach::Attached>>::with::<salsa[5d03113ac9f39ed2]::attach::attach<core[11918ecc8322c3ee]::result::Result<&hir_ty[c6020b5b036d7a82]::mir::MirBody, &hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerError>, dyn hir_ty[c6020b5b036d7a82]::db::HirDatabase, hir_ty[c6020b5b036d7a82]::mir::lower::mir_body_query::{closure#0}>::{closure#0}, core[11918ecc8322c3ee]::result::Result<&hir_ty[c6020b5b036d7a82]::mir::MirBody, &hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerError>>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:427:20
44: 0x564d5d305eff - salsa[5d03113ac9f39ed2]::attach::attach::<core[11918ecc8322c3ee]::result::Result<&hir_ty[c6020b5b036d7a82]::mir::MirBody, &hir_ty[c6020b5b036d7a82]::mir::lower::MirLowerError>, dyn hir_ty[c6020b5b036d7a82]::db::HirDatabase, hir_ty[c6020b5b036d7a82]::mir::lower::mir_body_query::{closure#0}>
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-0.28.2/src/attach.rs:176:14
45: 0x564d5d305eff - hir_ty[c6020b5b036d7a82]::mir::lower::mir_body_query
at /home/matthias/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/salsa-macro-rules-0.28.2/src/setup_tracked_fn.rs:100:13
46: 0x564d5c5427c7 - <ide_db[eae4458a66b6f619]::RootDatabase as hir_ty[c6020b5b036d7a82]::db::HirDatabase>::mir_body
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/db.rs:62:9
47: 0x564d5cf363a8 - <hir[c7ad7fe945aa0503]::DefWithBody>::run_mir_body
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir/src/lib.rs:1417:12
48: 0x564d5c291272 - <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run_mir_lowering
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/cli/analysis_stats.rs:756:31
49: 0x564d5c291272 - <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run::{closure#4}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/cli/analysis_stats.rs:366:22
50: 0x564d5c3022e0 - <hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::Attached>::attach::<(), <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run::{closure#4}>
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/next_solver/interner.rs:2452:13
51: 0x564d5c3022e0 - hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::attach_db::<(), <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run::{closure#4}>::{closure#0}
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/next_solver/interner.rs:2500:46
52: 0x564d5c3022e0 - <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<(), <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run::{closure#4}>::{closure#0}, ()>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:463:12
53: 0x564d5c3022e0 - <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<(), <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run::{closure#4}>::{closure#0}, ()>
at /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:427:20
54: 0x564d5c3022e0 - hir_ty[c6020b5b036d7a82]::next_solver::interner::tls_db::attach_db::<(), <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run::{closure#4}>
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/hir-ty/src/next_solver/interner.rs:2500:19
55: 0x564d5c3022e0 - <rust_analyzer[fbb607e756b1a4f1]::cli::flags::AnalysisStats>::run
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/cli/analysis_stats.rs:352:9
56: 0x564d5c02d70b - rust_analyzer[e285ded21ab2a89]::actual_main
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/bin/main.rs:74:59
57: 0x564d5c02d70b - rust_analyzer[e285ded21ab2a89]::main
at /home/matthias/vcs/github/rust-analyzer-debug-assertions/crates/rust-analyzer/src/bin/main.rs:32:9
58: 0x564d5c0286eb - <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
59: 0x564d5c0286eb - 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
60: 0x564d5c02ae12 - 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
61: 0x564d5da06e28 - <&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
62: 0x564d5da06e28 - 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
63: 0x564d5da06e28 - 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
64: 0x564d5da06e28 - 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
65: 0x564d5da06e28 - std[71a467343b18a2c1]::rt::lang_start_internal::{closure#0}
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/rt.rs:175:24
66: 0x564d5da06e28 - 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
67: 0x564d5da06e28 - std[71a467343b18a2c1]::panicking::catch_unwind::<isize, std[71a467343b18a2c1]::rt::lang_start_internal::{closure#0}>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panicking.rs:541:19
68: 0x564d5da06e28 - std[71a467343b18a2c1]::panic::catch_unwind::<std[71a467343b18a2c1]::rt::lang_start_internal::{closure#0}, isize>
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/panic.rs:359:14
69: 0x564d5da06e28 - std[71a467343b18a2c1]::rt::lang_start_internal
at /rustc/0fc141305da7a8a222f65aef1f1acc739c46282b/library/std/src/rt.rs:171:5
70: 0x564d5c042f7f - main
71: 0x7f2445027781 - <unknown>
72: 0x7f24450278b9 - __libc_start_main
73: 0x564d5c0161c5 - _start
74: 0x0 - <unknown>
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
Start by reproducing the report with rust-analyzer analysis-stats on the supplied Rust snippet, then inspect crates/hir-ty/src/mir/lower.rs around convert_closure_capture_projections at line 2028. Trace how the closure capture projection reaches the unexpected type panic. Done means the repro no longer panics during MIR lowering.
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
- Clearly specified
- Newbie friendliness
- 72/100