blob: ecfe9aabcfed48807e1d09fe31bcf70584a4004f [file] [log] [blame]
// Checks that `cfg` are correctly applied on inlined reexports.
#![crate_name = "foo"]
#![feature(doc_cfg)]
// Check with `std` item.
//@ has 'foo/index.html' '//*[@class="stab portability"]' 'Non-moustache'
//@ has 'foo/struct.C.html' '//*[@class="stab portability"]' \
// 'Available on non-crate feature moustache only.'
#[cfg(not(feature = "moustache"))]
pub use std::cell::RefCell as C;
// Check with local item.
mod x {
pub struct B;
}
//@ has 'foo/index.html' '//*[@class="stab portability"]' 'Non-pistache'
//@ has 'foo/struct.B.html' '//*[@class="stab portability"]' \
// 'Available on non-crate feature pistache only.'
#[cfg(not(feature = "pistache"))]
pub use crate::x::B;
// Now checking that `cfg`s are not applied on non-inlined reexports.
pub mod pub_sub_mod {
//@ has 'foo/pub_sub_mod/index.html'
// There should be only only item with `cfg` note.
//@ count - '//*[@class="stab portability"]' 1
// And obviously the item should be "blabla".
//@ has - '//dt' 'blablaNon-pistache'
#[cfg(not(feature = "pistache"))]
pub fn blabla() {}
pub use self::blabla as another;
}