Skip to content

Commit 22f6448

Browse files
committed
Lower async fn in traits.
An error is already created by AST validation.
1 parent 7953910 commit 22f6448

File tree

1 file changed

+11
-3
lines changed
  • compiler/rustc_ast_lowering/src

1 file changed

+11
-3
lines changed

compiler/rustc_ast_lowering/src/item.rs

+11-3
Original file line numberDiff line numberDiff line change
@@ -836,9 +836,17 @@ impl<'hir> LoweringContext<'_, 'hir> {
836836
(generics, hir::TraitItemKind::Fn(sig, hir::TraitFn::Required(names)))
837837
}
838838
AssocItemKind::Fn(box FnKind(_, ref sig, ref generics, Some(ref body))) => {
839-
let body_id = self.lower_fn_body_block(i.span, &sig.decl, Some(body));
840-
let (generics, sig) =
841-
self.lower_method_sig(generics, sig, trait_item_def_id, false, None, i.id);
839+
let asyncness = sig.header.asyncness;
840+
let body_id =
841+
self.lower_maybe_async_body(i.span, &sig.decl, asyncness, Some(&body));
842+
let (generics, sig) = self.lower_method_sig(
843+
generics,
844+
sig,
845+
trait_item_def_id,
846+
false,
847+
asyncness.opt_return_id(),
848+
i.id,
849+
);
842850
(generics, hir::TraitItemKind::Fn(sig, hir::TraitFn::Provided(body_id)))
843851
}
844852
AssocItemKind::TyAlias(box TyAliasKind(_, ref generics, ref bounds, ref default)) => {

0 commit comments

Comments
 (0)