/src/test/rustdoc/duplicate-cfg.rs
https://gitlab.com/rust-lang/rust · Rust · 53 lines · 25 code · 6 blank · 22 comment · 0 complexity · 3e34e020c0312a5c05b675d3300a4e00 MD5 · raw file
- #![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;
- }