Preserve docs on aliases
diff --git a/macro/src/expand.rs b/macro/src/expand.rs
index 955ad5f..c35044b 100644
--- a/macro/src/expand.rs
+++ b/macro/src/expand.rs
@@ -657,9 +657,11 @@
}
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 f52a582..8ef3c8b 100644
--- a/syntax/mod.rs
+++ b/syntax/mod.rs
@@ -79,6 +79,7 @@
}
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 3ac5304..c1c565f 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -396,9 +396,10 @@
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,