rust-lang / rust-lang/rust-analyzer

panic: unexpected type

Open
#23,385 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.