about summary refs log tree commit diff
path: root/tests/rustdoc/doc-cfg-inherit-from-module-79201.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc/doc-cfg-inherit-from-module-79201.rs')
-rw-r--r--tests/rustdoc/doc-cfg-inherit-from-module-79201.rs44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/rustdoc/doc-cfg-inherit-from-module-79201.rs b/tests/rustdoc/doc-cfg-inherit-from-module-79201.rs
new file mode 100644
index 00000000000..76260c4a502
--- /dev/null
+++ b/tests/rustdoc/doc-cfg-inherit-from-module-79201.rs
@@ -0,0 +1,44 @@
+// https://github.com/rust-lang/rust/issues/79201
+#![crate_name="foo"]
+
+#![feature(doc_cfg)]
+
+// @has 'foo/trait.Foo.html'
+// @count   - '//*[@class="stab portability"]' 6
+// @matches - '//*[@class="stab portability"]' 'crate feature foo-root'
+// @matches - '//*[@class="stab portability"]' 'crate feature foo-public-mod'
+// @matches - '//*[@class="stab portability"]' 'crate feature foo-private-mod'
+// @matches - '//*[@class="stab portability"]' 'crate feature foo-fn'
+// @matches - '//*[@class="stab portability"]' 'crate feature foo-method'
+
+pub trait Foo {}
+
+#[doc(cfg(feature = "foo-root"))]
+impl crate::Foo for usize {}
+
+#[doc(cfg(feature = "foo-public-mod"))]
+pub mod public {
+    impl crate::Foo for u8 {}
+}
+
+#[doc(cfg(feature = "foo-private-mod"))]
+mod private {
+    impl crate::Foo for u16 {}
+}
+
+#[doc(cfg(feature = "foo-const"))]
+const _: () = {
+    impl crate::Foo for u32 {}
+};
+
+#[doc(cfg(feature = "foo-fn"))]
+fn __() {
+    impl crate::Foo for u64 {}
+}
+
+#[doc(cfg(feature = "foo-method"))]
+impl dyn Foo {
+    fn __() {
+        impl crate::Foo for u128 {}
+    }
+}