Skip to content

Commit e85eb85

Browse files
Add missing solver lang items
1 parent d8e4858 commit e85eb85

2 files changed

Lines changed: 30 additions & 11 deletions

File tree

crates/hir-ty/src/next_solver/interner.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,10 +1461,6 @@ impl<'db> Interner for DbInterner<'db> {
14611461
SolverTraitLangItem, self, def_id.0, lang_item;
14621462

14631463
ignore = {
1464-
AsyncFnKindHelper,
1465-
BikeshedGuaranteedNoDrop,
1466-
FusedIterator,
1467-
Field,
14681464
AsyncFnOnceOutput, // This is incorrectly marked as `SolverTraitLangItem`, and is not used by the solver.
14691465
}
14701466

@@ -1493,6 +1489,10 @@ impl<'db> Interner for DbInterner<'db> {
14931489
AsyncFnMut,
14941490
AsyncFnOnce,
14951491
TrivialClone,
1492+
AsyncFnKindHelper,
1493+
BikeshedGuaranteedNoDrop,
1494+
FusedIterator,
1495+
Field,
14961496
)
14971497
}
14981498

@@ -1509,10 +1509,7 @@ impl<'db> Interner for DbInterner<'db> {
15091509
SolverLangItem, self, id;
15101510

15111511
ignore = {
1512-
AsyncFnKindUpvars,
15131512
DynMetadata,
1514-
FieldBase,
1515-
FieldType,
15161513
}
15171514

15181515
Metadata,
@@ -1522,6 +1519,9 @@ impl<'db> Interner for DbInterner<'db> {
15221519
CallRefFuture,
15231520
CallOnceFuture,
15241521
AsyncFnOnceOutput,
1522+
AsyncFnKindUpvars,
1523+
FieldBase,
1524+
FieldType,
15251525
)
15261526
}
15271527
SolverDefId::AdtId(AdtId::StructId(id)) => {
@@ -1553,10 +1553,6 @@ impl<'db> Interner for DbInterner<'db> {
15531553
SolverTraitLangItem, self, def_id.0;
15541554

15551555
ignore = {
1556-
AsyncFnKindHelper,
1557-
BikeshedGuaranteedNoDrop,
1558-
FusedIterator,
1559-
Field,
15601556
AsyncFnOnceOutput, // This is incorrectly marked as `SolverTraitLangItem`, and is not used by the solver.
15611557
}
15621558

@@ -1585,6 +1581,10 @@ impl<'db> Interner for DbInterner<'db> {
15851581
AsyncFnMut,
15861582
AsyncFnOnce,
15871583
TrivialClone,
1584+
AsyncFnKindHelper,
1585+
BikeshedGuaranteedNoDrop,
1586+
FusedIterator,
1587+
Field,
15881588
)
15891589
}
15901590

crates/ide-diagnostics/src/handlers/unimplemented_trait.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,23 @@ fn bar() {
5050
"#,
5151
);
5252
}
53+
54+
#[test]
55+
fn async_closure_does_not_trigger() {
56+
check_diagnostics(
57+
r#"
58+
//- minicore: async_fn
59+
fn spawn_in<AsyncFn>(_f: AsyncFn)
60+
where
61+
AsyncFn: AsyncFnOnce(),
62+
{
63+
}
64+
65+
fn foo() {
66+
spawn_in(async move || {});
67+
}
68+
69+
"#,
70+
);
71+
}
5372
}

0 commit comments

Comments
 (0)