| // 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; |
| } |