// Ensure that inlined reexport of hidden macros is working as expected.
// Part of <https://github.com/rust-lang/rust/issues/59368>.

#![crate_name = "foo"]

//@ has 'foo/index.html'
//@ has - '//*[@id="main-content"]//a[@href="macro.Macro2.html"]' 'Macro2'
//@ has - '//*[@id="reexport.Macro"]/code' 'pub use crate::foo as Macro;'

//@ has 'foo/macro.Macro2.html'
//@ has - '//*[@class="docblock"]' 'Displayed'

#[macro_export]
#[doc(hidden)]
macro_rules! foo {
    () => {};
}

pub use crate::foo as Macro;
/// Displayed
#[doc(inline)]
pub use crate::foo as Macro2;
