Skip to content

Commit b8f5115

Browse files
committed
fix: generate delegate async methods
1 parent 1927c2e commit b8f5115

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

crates/ide-assists/src/handlers/generate_delegate_methods.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,11 @@ pub(crate) fn generate_delegate_methods(acc: &mut Assists, ctx: &AssistContext<'
104104
make::name_ref(&method_name.to_string()),
105105
arg_list,
106106
);
107-
let body = make::block_expr([], Some(tail_expr));
108107
let ret_type = method_source.ret_type();
109108
let is_async = method_source.async_token().is_some();
109+
let tail_expr_finished =
110+
if is_async { make::expr_await(tail_expr) } else { tail_expr };
111+
let body = make::block_expr([], Some(tail_expr_finished));
110112
let f = make::fn_(vis, name, type_params, params, body, ret_type, is_async)
111113
.indent(ast::edit::IndentLevel(1))
112114
.clone_for_update();
@@ -306,7 +308,7 @@ struct Person<T> {
306308
307309
impl<T> Person<T> {
308310
$0pub(crate) async fn age<J, 'a>(&'a mut self, ty: T, arg: J) -> T {
309-
self.age.age(ty, arg)
311+
self.age.age(ty, arg).await
310312
}
311313
}"#,
312314
);

0 commit comments

Comments
 (0)