Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Rust code shared from the playground
#![feature(trace_macros)] trace_macros!(true);
macro_rules! doc_items {
(@distribute $docs:tt $($item:item)*) => {
$(doc_items!(@output $docs $item);)*
};
(@output [$($doc:expr),*] $item:item) => {
$(#[doc=$doc])*
$item
};
{
$(
$(#[doc = $doc:expr])*
{
$(
$item:item
)*
}
)+
} => {
$(doc_items!(@distribute [$($doc),*] $($item)*);)*
};
}
doc_items! {
/// A
{
struct Foo;
struct Bar;
}
/// B
{
struct Baz;
struct Quux;
}
}
fn main() {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment