]> git.lizzy.rs Git - rust.git/commitdiff
add target_feature items to doc_cfg rustdoc test
authorQuietMisdreavus <grey@quietmisdreavus.net>
Thu, 22 Mar 2018 00:57:10 +0000 (19:57 -0500)
committerQuietMisdreavus <grey@quietmisdreavus.net>
Thu, 22 Mar 2018 00:57:10 +0000 (19:57 -0500)
src/test/rustdoc/doc-cfg.rs

index 8499e5c741ee043e0225f5025af6ea88578bf114..ea8a13b034beb244eaf4a716864f1317ec70f07d 100644 (file)
@@ -9,6 +9,7 @@
 // except according to those terms.
 
 #![feature(doc_cfg)]
+#![feature(target_feature, cfg_target_feature)]
 
 // @has doc_cfg/struct.Portable.html
 // @!has - '//*[@id="main"]/*[@class="stability"]/*[@class="stab portability"]' ''
@@ -45,3 +46,26 @@ impl ArmOnly for super::Portable {
         fn unix_and_arm_only_function() {}
     }
 }
+
+// tagging a function with `#[target_feature]` creates a doc(cfg(target_feature)) node for that
+// item as well
+
+// the portability header is different on the module view versus the full view
+// @has doc_cfg/index.html
+// @matches - '//*[@class=" module-item"]//*[@class="stab portability"]' '\Aavx\Z'
+
+// @has doc_cfg/fn.uses_target_feature.html
+// @has - '//*[@id="main"]/*[@class="stability"]/*[@class="stab portability"]' \
+//        'This is supported with target feature avx only.'
+#[target_feature(enable = "avx")]
+pub unsafe fn uses_target_feature() {
+    content::should::be::irrelevant();
+}
+
+// @has doc_cfg/fn.uses_cfg_target_feature.html
+// @has - '//*[@id="main"]/*[@class="stability"]/*[@class="stab portability"]' \
+//        'This is supported with target feature avx only.'
+#[doc(cfg(target_feature = "avx"))]
+pub fn uses_cfg_target_feature() {
+    uses_target_feature();
+}