Lower async fn in traits.
An error is already created by AST validation.
This commit is contained in:
parent
7953910464
commit
22f6448bed
@ -836,9 +836,17 @@ impl<'hir> LoweringContext<'_, 'hir> {
|
|||||||
(generics, hir::TraitItemKind::Fn(sig, hir::TraitFn::Required(names)))
|
(generics, hir::TraitItemKind::Fn(sig, hir::TraitFn::Required(names)))
|
||||||
}
|
}
|
||||||
AssocItemKind::Fn(box FnKind(_, ref sig, ref generics, Some(ref body))) => {
|
AssocItemKind::Fn(box FnKind(_, ref sig, ref generics, Some(ref body))) => {
|
||||||
let body_id = self.lower_fn_body_block(i.span, &sig.decl, Some(body));
|
let asyncness = sig.header.asyncness;
|
||||||
let (generics, sig) =
|
let body_id =
|
||||||
self.lower_method_sig(generics, sig, trait_item_def_id, false, None, i.id);
|
self.lower_maybe_async_body(i.span, &sig.decl, asyncness, Some(&body));
|
||||||
|
let (generics, sig) = self.lower_method_sig(
|
||||||
|
generics,
|
||||||
|
sig,
|
||||||
|
trait_item_def_id,
|
||||||
|
false,
|
||||||
|
asyncness.opt_return_id(),
|
||||||
|
i.id,
|
||||||
|
);
|
||||||
(generics, hir::TraitItemKind::Fn(sig, hir::TraitFn::Provided(body_id)))
|
(generics, hir::TraitItemKind::Fn(sig, hir::TraitFn::Provided(body_id)))
|
||||||
}
|
}
|
||||||
AssocItemKind::TyAlias(box TyAliasKind(_, ref generics, ref bounds, ref default)) => {
|
AssocItemKind::TyAlias(box TyAliasKind(_, ref generics, ref bounds, ref default)) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user