Hi!
I have a struct called Builder
that I use a macro to define setters on.
///Creates a builder function that sets $name.
macro_rules! builder_fn_set {
{ $name: ident >< $type: ty } => {
#[allow(dead_code)]
pub fn $name(mut self, $name: $type) -> Self {
self.$name = $name;
self
}
};
{ $name: ident <> $type: ty } => {
#[allow(dead_code)]
#[doc="Sets $name of this builder to Some($name)."]
pub fn $name(mut self, $name: $type) -> Self {
self.$name = Some($name);
self
}
};
}
pub struct Builder {
width : Option<u32>,
height: Option<u32>,
cells_x: Option<u32>,
cells_y: Option<u32>,
wrap: bool
}
///A builder for a Tiler Class.
impl Builder {
builder_fn_set!{ width <> u32 }
builder_fn_set!{ height <> u32 }
builder_fn_set!{ cells_x <> u32 }
builder_fn_set!{ cells_y <> u32 }
builder_fn_set!{ wrap >< bool }
//...
}
My issue is that the docs come out as "Sets $name of this builder to Some($name)." It doesn't parse the $name
argument into the doc comment.