rust/tests/rustdoc/reexport-cfg.rs

31 lines
895 B
Rust

// This test ensures that only the re-export `cfg` will be displayed and that it won't
// include `cfg`s from the previous chained items.
#![crate_name = "foo"]
#![feature(doc_auto_cfg, doc_cfg)]
mod foo {
#[cfg(not(feature = "foo"))]
pub struct Bar;
#[doc(cfg(not(feature = "bar")))]
pub struct Bar2;
}
// @has 'foo/index.html'
// @has - '//*[@class="item-name"]' 'BabarNon-lie'
#[cfg(not(feature = "lie"))]
pub use crate::foo::Bar as Babar;
// @has - '//*[@class="item-name"]' 'Babar2Non-cake'
#[doc(cfg(not(feature = "cake")))]
pub use crate::foo::Bar2 as Babar2;
// @has - '//*[@class="item-table"]/li' 'pub use crate::Babar as Elephant;Non-robot'
#[cfg(not(feature = "robot"))]
pub use crate::Babar as Elephant;
// @has - '//*[@class="item-table"]/li' 'pub use crate::Babar2 as Elephant2;Non-cat'
#[doc(cfg(not(feature = "cat")))]
pub use crate::Babar2 as Elephant2;