Je voudrais utiliser une variable macro dans la documentation générée par macro:Comment intégrer une variable de macro Rust dans la documentation?
macro_rules! impl_foo {
($name:ident) => {
/// Returns a new `$name`.
fn myfoo() -> $name {
}
};
}
Cependant, ne sera pas remplacé par la variable. J'ai aussi essayé d'utiliser l'attribut #[doc]
:
macro_rules! impl_foo {
($name:ident) => {
#[doc = concat!("Returns a new `", $name, "`.")]
fn myfoo() -> $name {
}
};
}
Celui-ci échoue même à analyser: unexpected token: 'concat'
@Shepmaster Je ne pouvais pas le trouver, mais je me demande pourquoi le second ne parvient pas à analyser. – torkleyy
L'ensemble des jetons autorisés à l'intérieur d'un attribut est probablement assez limité. – Shepmaster
@torkleyy Les macros ne sont pas développées lors de l'analyse (c'est pourquoi il y a [RFC 1628 "expansion des macros"] (https://github.com/rust-lang/rfcs/pull/1628)) – kennytm