diff --git a/macro/src/expand.rs b/macro/src/expand.rs index 955ad5f50..c35044b39 100644 --- a/macro/src/expand.rs +++ b/macro/src/expand.rs @@ -657,9 +657,11 @@ fn expand_rust_function_shim_impl( } fn expand_type_alias(alias: &TypeAlias) -> TokenStream { + let doc = &alias.doc; let ident = &alias.ident; let ty = &alias.ty; quote! { + #doc pub type #ident = #ty; } } diff --git a/syntax/mod.rs b/syntax/mod.rs index f52a582c1..8ef3c8b9c 100644 --- a/syntax/mod.rs +++ b/syntax/mod.rs @@ -79,6 +79,7 @@ pub struct ExternFn { } pub struct TypeAlias { + pub doc: Doc, pub type_token: Token![type], pub ident: Ident, pub eq_token: Token![=], diff --git a/syntax/parse.rs b/syntax/parse.rs index 3ac530471..c1c565fd4 100644 --- a/syntax/parse.rs +++ b/syntax/parse.rs @@ -396,9 +396,10 @@ fn parse_extern_verbatim(cx: &mut Errors, tokens: &TokenStream, lang: Lang) -> R let eq_token: Token![=] = input.parse()?; let ty: RustType = input.parse()?; let semi_token: Token![;] = input.parse()?; - attrs::parse_doc(cx, &attrs); + let doc = attrs::parse_doc(cx, &attrs); Ok(TypeAlias { + doc, type_token, ident, eq_token,