-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Labels
A-tytype system / type inference / traits / method resolutiontype system / type inference / traits / method resolutionC-bugCategory: bugCategory: bugI-panic
Description
Hi, I'm getting constant panics while editing my code. Unfortunately I'm not at liberty to provide my proprietary code, nor do I have time to make a minimal reproduction. They compile just fine with cargo.
[Error - 2:26:12 PM] Request textDocument/documentHighlight failed.
Message: request handler panicked: assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [Clause(Binder { value: TraitPredicate(#0: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: Environment, polarity:Positive), bound_vars: [] }), Clause(Binder { value: OutlivesPredicate(#0, 'static), bound_vars: [] })] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [FilterMap<IntoStream<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(898b1)), Idx::<Expr>(358)) }), [#0, (), (), (), Result<(), RequestError<?527t>>, ()])>, Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(898b1)), Idx::<Expr>(362)) }), [#0, (), (), (), Option<?789t>, ()]), Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(898b1)), Idx::<Expr>(360)) }), [#0, i16, Binder { value: fn(Result<(), RequestError<?783t>>) -> Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(898b1)), Idx::<Expr>(362)) }), [#0, (), (), (), Option<?789t>, ()]), bound_vars: [] }, ()])>], def_id: TypeAliasId("Item"), .. }), Equate, ?817t), bound_vars: [] } }]
right: []
Code: -32603
thread 'Worker2' (7018720) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [Clause(Binder { value: TraitPredicate(#0: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: Environment, polarity:Positive), bound_vars: [] }), Clause(Binder { value: OutlivesPredicate(#0, 'static), bound_vars: [] })] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [FilterMap<IntoStream<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(898b1)), Idx::<Expr>(358)) }), [#0, (), (), (), Result<(), RequestError<?527t>>, ()])>, Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(898b1)), Idx::<Expr>(362)) }), [#0, (), (), (), Option<?789t>, ()]), Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(898b1)), Idx::<Expr>(360)) }), [#0, i16, Binder { value: fn(Result<(), RequestError<?783t>>) -> Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(898b1)), Idx::<Expr>(362)) }), [#0, (), (), (), Option<?789t>, ()]), bound_vars: [] }, ()])>], def_id: TypeAliasId("Item"), .. }), Equate, ?817t), bound_vars: [] } }]
right: []
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::assert_failed_inner
3: core::panicking::assert_failed
4: hir_ty::infer::unify::InferenceTable::normalize_associated_types_in
5: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
6: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
17: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
18: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
20: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
21: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
22: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
23: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
24: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
25: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
26: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
27: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
28: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
29: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
30: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
31: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
32: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
33: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
34: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
37: hir_ty::infer::infer_query
38: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
39: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
40: std::thread::local::LocalKey<T>::with
41: hir::semantics::SemanticsImpl::analyze_impl
42: hir::semantics::SemanticsImpl::type_of_binding_in_pat
43: ide::inlay_hints::bind_pat::hints
44: std::thread::local::LocalKey<T>::with
45: salsa::cancelled::Cancelled::catch
46: ide::Analysis::inlay_hints
47: rust_analyzer::handlers::request::handle_inlay_hints
48: core::ops::function::FnOnce::call_once{{vtable.shim}}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
query stacktrace:
0: infer_shim(Id(898b1)) -> (R12593, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: textDocument/inlayHint InlayHintParams {
work_done_progress_params: WorkDoneProgressParams {
work_done_token: None,
},
text_document: TextDocumentIdentifier {
uri: Url {
scheme: "file",
cannot_be_a_base: false,
username: "",
password: None,
host: None,
port: None,
path: <redacted>,
query: None,
fragment: None,
},
},
range: Range {
start: Position {
line: 66,
character: 0,
},
end: Position {
line: 262,
character: 48,
},
},
}
rust-analyzer version: rust-analyzer version: 0.3.2667-standalone (bacc5bb 2025-11-02) [/Users/jacob/.vscode/extensions/rust-lang.rust-analyzer-0.3.2667-darwin-arm64/server/rust-analyzer]
rustc version: rustc 1.87.0 (17067e9ac 2025-05-09)
editor or extension: VSCode, extension version 0.3.2667
relevant settings: All at default
takasaki404
Metadata
Metadata
Assignees
Labels
A-tytype system / type inference / traits / method resolutiontype system / type inference / traits / method resolutionC-bugCategory: bugCategory: bugI-panic