// run-pass
#![allow(non_snake_case)]

macro_rules! doc {
    (
        $(#[$outer:meta])*
        mod $i:ident {
            $(#![$inner:meta])*
        }
    ) =>
    (
        $(#[$outer])*
        pub mod $i {
            $(#![$inner])*
        }
    )
}

doc! {
    /// Outer doc
    mod Foo {
        //! Inner doc
    }
}

fn main() { }