diff --git a/crates/macro-support/src/parser.rs b/crates/macro-support/src/parser.rs index 46c76a1ef21..a10d823b3b3 100644 --- a/crates/macro-support/src/parser.rs +++ b/crates/macro-support/src/parser.rs @@ -1418,6 +1418,11 @@ impl MacroParse<&ClassMarker> for &mut syn::ImplItemFn { FunctionPosition::Impl { self_ty: class }, )?; let method_kind = if opts.constructor().is_some() { + if function.r#async { + self.attrs.push(syn::parse_quote! { + #[deprecated(note = "constructors cannot be async")] + }); + } ast::MethodKind::Constructor } else { let is_static = method_self.is_none();