diff options
| author | Guillaume Gomez <guillaume.gomez@huawei.com> | 2023-06-27 13:12:56 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume.gomez@huawei.com> | 2023-11-22 17:22:29 +0100 |
| commit | 7953d5df0e5b2d335005b9a88b61dfde65e9bf73 (patch) | |
| tree | 4fb716a93aa84c56d5c74883e091b7bef8b33a63 | |
| parent | 14ed92c33f2505241001e06c6d34f1c7d538fb66 (diff) | |
| download | rust-7953d5df0e5b2d335005b9a88b61dfde65e9bf73.tar.gz rust-7953d5df0e5b2d335005b9a88b61dfde65e9bf73.zip | |
Add regression test for cfg merging on re-exports
| -rw-r--r-- | tests/rustdoc/reexport-cfg.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/rustdoc/reexport-cfg.rs b/tests/rustdoc/reexport-cfg.rs new file mode 100644 index 00000000000..a6179fad873 --- /dev/null +++ b/tests/rustdoc/reexport-cfg.rs @@ -0,0 +1,30 @@ +// 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; |
