getting codelens resolve error
constantly seeing this error in latest Cursor since today morning. using latest version of everything
What's in the Output pane?
2025-11-06T13:35:52.341052-08:00 WARN notify error: No path was found. about ["/Users/pdeva/Library/Application Support/rust-analyzer/rust-analyzer.toml"]
2025-11-06T13:35:53.520852-08:00 WARN notify error: No path was found. about ["/Users/pdeva/Library/Application Support/rust-analyzer/rust-analyzer.toml"]
2025-11-06T13:36:02.092237-08:00 WARN overly long loop turn took 601.389834ms (event handling took 601.355625ms): PrimeCaches(End { cancelled: false })
thread 'Worker10' (11793089) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R13964, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 37,
character: 7,
},
end: Position {
line: 37,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(76),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(37),
"character": Number(7),
},
},
},
},
),
}
thread 'Worker2' (11793081) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R13964, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 440,
character: 7,
},
end: Position {
line: 440,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(76),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(440),
"character": Number(7),
},
},
},
},
),
}
thread 'Worker7' (11793086) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R13964, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 440,
character: 7,
},
end: Position {
line: 440,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(76),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(440),
"character": Number(7),
},
},
},
},
),
}
thread 'Worker5' (11793084) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R13964, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 440,
character: 7,
},
end: Position {
line: 440,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(76),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(440),
"character": Number(7),
},
},
},
},
),
}
2025-11-06T14:16:00.807523-08:00 WARN overly long loop turn took 426.150917ms (event handling took 57.542µs): Notification { method: "textDocument/didChange" }
thread 'Worker1' (11793080) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R14234, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 38,
character: 7,
},
end: Position {
line: 38,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(156),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(38),
"character": Number(7),
},
},
},
},
),
}
[Error - 2:21:25 PM] Request codeLens/resolve failed.
Message: request handler panicked: assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), bound_vars: [] } }]
right: []
Code: -32603
thread 'Worker12' (11793091) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R14234, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 38,
character: 7,
},
end: Position {
line: 38,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(156),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(38),
"character": Number(7),
},
},
},
},
),
}
[Error - 2:23:02 PM] Request codeLens/resolve failed.
Message: request handler panicked: assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), bound_vars: [] } }]
right: []
Code: -32603
2025-11-06T14:27:55.88268-08:00 WARN overly long loop turn took 780.434833ms (event handling took 44.083µs): Changed { n_files: 1 }
2025-11-06T14:27:57.239326-08:00 WARN overly long loop turn took 137.563167ms (event handling took 137.531625ms): PrimeCaches(End { cancelled: false })
thread 'Worker0' (11793079) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R28137, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 37,
character: 7,
},
end: Position {
line: 37,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(157),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(37),
"character": Number(7),
},
},
},
},
),
}
[Error - 2:28:03 PM] Request codeLens/resolve failed.
Message: request handler panicked: assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), bound_vars: [] } }]
right: []
Code: -32603
thread 'Worker13' (11793092) panicked at crates/hir-ty/src/next_solver/normalize.rs:48:5:
assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), 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_coerce
7: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
8: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
9: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
10: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
11: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
12: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
15: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
16: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
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_inner
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
20: hir_ty::infer::infer_query
21: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
22: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
23: std::thread::local::LocalKey<T>::with
24: hir::semantics::SemanticsImpl::analyze_impl
25: hir::semantics::SemanticsImpl::resolve_path_with_subst
26: ide_db::defs::NameRefClass::classify
27: ide_db::search::FindUsages::found_name_ref
28: ide_db::search::FindUsages::search
29: ide_db::search::FindUsages::all
30: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
31: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
32: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
33: ide::references::find_all_refs
34: ide::annotations::resolve_annotation
35: salsa::cancelled::Cancelled::catch
36: std::thread::local::LocalKey<T>::with
37: ide::Analysis::resolve_annotation
38: rust_analyzer::handlers::request::handle_code_lens_resolve
39: 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(112d0e)) -> (R28137, Durability::LOW)
at crates/hir-ty/src/db.rs:28
additional context:
0:
version: 0.3.2667-standalone (bacc5bbd30 2025-11-02)
request: codeLens/resolve CodeLens {
range: Range {
start: Position {
line: 37,
character: 7,
},
end: Position {
line: 37,
character: 14,
},
},
command: None,
data: Some(
Object {
"version": Number(157),
"kind": Object {
"references": Object {
"textDocument": Object {
"uri": String("file:///Users/pdeva/code/monorepo/services/qu-meta/src/kafka/state.rs"),
},
"position": Object {
"line": Number(37),
"character": Number(7),
},
},
},
},
),
}
[Error - 2:56:07 PM] Request codeLens/resolve failed.
Message: request handler panicked: assertion `left == right` failed
left: [Goal { param_env: ParamEnv { clauses: [] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [TryFlatten<MapOk<Once<Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(112d0e)), Idx::<Expr>(743)) }), [(), (), (), Result<Vec<ObjectMeta, Global>, StorageError>, ()])>, Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(112d0e)), Idx::<Expr>(745)) }), [i16, Binder { value: fn(Vec<ObjectMeta, Global>) -> Iter<Map<IntoIter<ObjectMeta, Global>, FnDef(EnumVariantId(EnumVariantId(1cc0c)), [ObjectMeta, ?729t])>>, bound_vars: [] }, ()])>>], def_id: TypeAliasId("Item"), .. }), Equate, ?743t), bound_vars: [] } }]
right: []
Code: -32603
I think this would be fixed by https://github.com/rust-lang/rust-analyzer/pull/20980
Hitting the same issue, with the panic preceded by the "overly long loop turn" warning.
In the logs:
2025-11-21T09:01:36.595409-08:00 WARN overly long loop turn took 4.072230042s (event handling took 103.542µs): Notification { method: "textDocument/didChange" }
thread 'Worker0' (73357038) 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(#1: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: OutlivesPredicate(Alias(Projection, AliasTy { args: [#0, ServiceRequest], def_id: TypeAliasId("Future"), .. }), 'static), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("InitError"), .. }, ()), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Error"), .. }, Error), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Response"), .. }, ServiceResponse<#1>), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Config"), .. }, ()), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: ServiceFactory<[ServiceRequest]>, polarity:Positive), bound_vars: [] })] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [FnServiceFactory<Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(221ff0)), Idx::<Expr>(7)) }), [#0, #1, i8, Binder { value: fn(ServiceRequest) -> Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), bound_vars: [] }, ()]), Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), ServiceRequest, ServiceResponse<BoxBody>, ?35t, ?244t>, ServiceRequest], def_id: TypeAliasId("Config"), .. }), Equate, ?251t), bound_vars: [] } }, Goal { param_env: ParamEnv { clauses: [Clause(Binder { value: TraitPredicate(#1: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: OutlivesPredicate(Alias(Projection, AliasTy { args: [#0, ServiceRequest], def_id: TypeAliasId("Future"), .. }), 'static), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("InitError"), .. }, ()), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Error"), .. }, Error), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Response"), .. }, ServiceResponse<#1>), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Config"), .. }, ()), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: ServiceFactory<[ServiceRequest]>, polarity:Positive), bound_vars: [] })] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [FnServiceFactory<Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(221ff0)), Idx::<Expr>(7)) }), [#0, #1, i8, Binder { value: fn(ServiceRequest) -> Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), bound_vars: [] }, ()]), Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), ServiceRequest, ServiceResponse<BoxBody>, ?35t, ?244t>, ServiceRequest], def_id: TypeAliasId("Response"), .. }), Equate, ?256t), bound_vars: [] } }, Goal { param_env: ParamEnv { clauses: [Clause(Binder { value: TraitPredicate(#1: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: OutlivesPredicate(Alias(Projection, AliasTy { args: [#0, ServiceRequest], def_id: TypeAliasId("Future"), .. }), 'static), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("InitError"), .. }, ()), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Error"), .. }, Error), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Response"), .. }, ServiceResponse<#1>), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Config"), .. }, ()), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: ServiceFactory<[ServiceRequest]>, polarity:Positive), bound_vars: [] })] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [FnServiceFactory<Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(221ff0)), Idx::<Expr>(7)) }), [#0, #1, i8, Binder { value: fn(ServiceRequest) -> Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), bound_vars: [] }, ()]), Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), ServiceRequest, ServiceResponse<BoxBody>, ?35t, ?244t>, ServiceRequest], def_id: TypeAliasId("Error"), .. }), Equate, ?261t), bound_vars: [] } }, Goal { param_env: ParamEnv { clauses: [Clause(Binder { value: TraitPredicate(#1: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: Sized, polarity:Positive), bound_vars: [] }), Clause(Binder { value: OutlivesPredicate(Alias(Projection, AliasTy { args: [#0, ServiceRequest], def_id: TypeAliasId("Future"), .. }), 'static), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("InitError"), .. }, ()), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Error"), .. }, Error), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Response"), .. }, ServiceResponse<#1>), bound_vars: [] }), Clause(Binder { value: ProjectionPredicate(AliasTerm { args: [#0, ServiceRequest], def_id: TypeAliasId("Config"), .. }, ()), bound_vars: [] }), Clause(Binder { value: TraitPredicate(#0: ServiceFactory<[ServiceRequest]>, polarity:Positive), bound_vars: [] })] }, predicate: Binder { value: AliasRelate(Alias(Projection, AliasTy { args: [FnServiceFactory<Closure(InternedClosureId(InternedClosureId { loc: InternedClosure(FunctionId(FunctionId(221ff0)), Idx::<Expr>(7)) }), [#0, #1, i8, Binder { value: fn(ServiceRequest) -> Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), bound_vars: [] }, ()]), Coroutine(InternedCoroutineId(InternedCoroutineId { loc: InternedCoroutine(FunctionId(FunctionId(221ff0)), Idx::<Expr>(14)) }), [#0, #1, (), (), (), Result<ServiceResponse<BoxBody>, ?227t>, ()]), ServiceRequest, ServiceResponse<BoxBody>, ?35t, ?244t>, ServiceRequest], def_id: TypeAliasId("InitError"), .. }), Equate, ?266t), 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>::check_call_arguments
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_coerce
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_return
13: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
14: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
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_coerce
17: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
18: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner::{{closure}}
19: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
20: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_return
21: hir_ty::infer::infer_query
22: salsa::function::execute::<impl salsa::function::IngredientImpl<C>>::execute
23: salsa::function::fetch::<impl salsa::function::IngredientImpl<C>>::fetch_cold_with_retry
24: std::thread::local::LocalKey<T>::with
25: hir::semantics::SemanticsImpl::analyze_impl
26: hir::semantics::SemanticsImpl::resolve_method_call_fallback
27: ide_db::defs::NameRefClass::classify
28: ide_db::search::FindUsages::found_name_ref
29: ide_db::search::FindUsages::search
30: ide_db::search::FindUsages::all
31: <alloc::vec::into_iter::IntoIter<T,A> as core::iter::traits::iterator::Iterator>::fold
32: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
33: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
34: ide::references::find_all_refs
35: ide::annotations::resolve_annotation
36: salsa::cancelled::Cancelled::catch
37: std::thread::local::LocalKey<T>::with
38: ide::Analysis::resolve_annotation
39: rust_analyzer::handlers::request::handle_code_lens_resolve
40: 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(221ff0)) -> (R20212, Durability::MEDIUM)
at crates/hir-ty/src/db.rs:28
I guess this has been already fixed in the latest unstable release, by https://github.com/rust-lang/rust-analyzer/pull/20974
FWIW we hit the same error relatively often in our last release, but it's fixed on master. Bisecting suggests that 50384460c68f9c2aaa9148a9131480c07c933c91 has fixed it.
My minimal repro program was:
pub trait Resolver<Unresolved> {
type Error;
fn resolve(&self, unresolved: Unresolved) -> Self::Error;
}
impl<F> Resolver<String> for F {
type Error = ();
fn resolve(&self, _: String) -> Self::Error {
todo!()
}
}
impl<F> Resolver<()> for F {
type Error = ();
fn resolve(&self, _: ()) -> Self::Error {
todo!()
}
}
async fn oh_no() {
let resolver = (|| async {}, || {});
resolver.resolve();
}