Preserve doc attributes on struct fields
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 4bfabcd..3d970d8 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -97,6 +97,15 @@
let mut fields = Vec::new();
for field in named_fields.named {
let ident = field.ident.unwrap();
+ let mut doc = Doc::new();
+ attrs::parse(
+ cx,
+ &field.attrs,
+ attrs::Parser {
+ doc: Some(&mut doc),
+ ..Default::default()
+ },
+ );
let ty = match parse_type(&field.ty) {
Ok(ty) => ty,
Err(err) => {
@@ -111,6 +120,7 @@
Visibility::Inherited => ident.span(),
});
fields.push(Var {
+ doc,
visibility,
ident,
ty,
@@ -527,8 +537,10 @@
};
let ty = parse_type(&arg.ty)?;
if ident != "self" {
+ let doc = Doc::new();
let visibility = Token);
args.push_value(Var {
+ doc,
visibility,
ident,
ty,
@@ -1098,8 +1110,10 @@
Some(ident) => ident.0.clone(),
None => format_ident!("arg{}", i),
};
+ let doc = Doc::new();
let visibility = Token);
Ok(Var {
+ doc,
visibility,
ident,
ty,