diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:18:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:18:58 +0000 |
commit | a4b7ed7a42c716ab9f05e351f003d589124fd55d (patch) | |
tree | b620cd3f223850b28716e474e80c58059dca5dd4 /tests/rustdoc/duplicate-cfg.rs | |
parent | Adding upstream version 1.67.1+dfsg1. (diff) | |
download | rustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.tar.xz rustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.zip |
Adding upstream version 1.68.2+dfsg1.upstream/1.68.2+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/rustdoc/duplicate-cfg.rs')
-rw-r--r-- | tests/rustdoc/duplicate-cfg.rs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/rustdoc/duplicate-cfg.rs b/tests/rustdoc/duplicate-cfg.rs new file mode 100644 index 000000000..18f3900b2 --- /dev/null +++ b/tests/rustdoc/duplicate-cfg.rs @@ -0,0 +1,53 @@ +#![crate_name = "foo"] +#![feature(doc_cfg)] + +// @has 'foo/index.html' +// @matches '-' '//*[@class="item-left module-item"]//*[@class="stab portability"]' '^sync$' +// @has '-' '//*[@class="item-left module-item"]//*[@class="stab portability"]/@title' 'Available on crate feature `sync` only' + +// @has 'foo/struct.Foo.html' +// @has '-' '//*[@class="stab portability"]' 'sync' +#[doc(cfg(feature = "sync"))] +#[doc(cfg(feature = "sync"))] +/// my feature sync struct +pub struct Foo; + +// @has 'foo/bar/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync only.' +#[doc(cfg(feature = "sync"))] +pub mod bar { + // @has 'foo/bar/struct.Bar.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync only.' + #[doc(cfg(feature = "sync"))] + pub struct Bar; +} + +// @has 'foo/baz/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate features sync and send only.' +#[doc(cfg(all(feature = "sync", feature = "send")))] +pub mod baz { + // @has 'foo/baz/struct.Baz.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate features sync and send only.' + #[doc(cfg(feature = "sync"))] + pub struct Baz; +} + +// @has 'foo/qux/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync only.' +#[doc(cfg(feature = "sync"))] +pub mod qux { + // @has 'foo/qux/struct.Qux.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate features sync and send only.' + #[doc(cfg(all(feature = "sync", feature = "send")))] + pub struct Qux; +} + +// @has 'foo/quux/index.html' +// @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync and crate feature send and foo only.' +#[doc(cfg(all(feature = "sync", feature = "send", foo)))] +pub mod quux { + // @has 'foo/quux/struct.Quux.html' + // @has '-' '//*[@class="stab portability"]' 'Available on crate feature sync and crate feature send and foo and bar only.' + #[doc(cfg(all(feature = "send", feature = "sync", bar)))] + pub struct Quux; +} |