about summary refs log tree commit diff
path: root/tests/rustdoc-json/methods/qualifiers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc-json/methods/qualifiers.rs')
-rw-r--r--tests/rustdoc-json/methods/qualifiers.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/rustdoc-json/methods/qualifiers.rs b/tests/rustdoc-json/methods/qualifiers.rs
new file mode 100644
index 00000000000..b9a5e56012e
--- /dev/null
+++ b/tests/rustdoc-json/methods/qualifiers.rs
@@ -0,0 +1,37 @@
+// edition:2018
+
+pub struct Foo;
+
+impl Foo {
+    // @is "$.index[*][?(@.name=='const_meth')].inner.header.async" false
+    // @is "$.index[*][?(@.name=='const_meth')].inner.header.const"  true
+    // @is "$.index[*][?(@.name=='const_meth')].inner.header.unsafe" false
+    pub const fn const_meth() {}
+
+    // @is "$.index[*][?(@.name=='nothing_meth')].inner.header.async"  false
+    // @is "$.index[*][?(@.name=='nothing_meth')].inner.header.const"  false
+    // @is "$.index[*][?(@.name=='nothing_meth')].inner.header.unsafe" false
+    pub fn nothing_meth() {}
+
+    // @is "$.index[*][?(@.name=='unsafe_meth')].inner.header.async"  false
+    // @is "$.index[*][?(@.name=='unsafe_meth')].inner.header.const"  false
+    // @is "$.index[*][?(@.name=='unsafe_meth')].inner.header.unsafe" true
+    pub unsafe fn unsafe_meth() {}
+
+    // @is "$.index[*][?(@.name=='async_meth')].inner.header.async"  true
+    // @is "$.index[*][?(@.name=='async_meth')].inner.header.const"  false
+    // @is "$.index[*][?(@.name=='async_meth')].inner.header.unsafe" false
+    pub async fn async_meth() {}
+
+    // @is "$.index[*][?(@.name=='async_unsafe_meth')].inner.header.async"  true
+    // @is "$.index[*][?(@.name=='async_unsafe_meth')].inner.header.const"  false
+    // @is "$.index[*][?(@.name=='async_unsafe_meth')].inner.header.unsafe" true
+    pub async unsafe fn async_unsafe_meth() {}
+
+    // @is "$.index[*][?(@.name=='const_unsafe_meth')].inner.header.async"  false
+    // @is "$.index[*][?(@.name=='const_unsafe_meth')].inner.header.const"  true
+    // @is "$.index[*][?(@.name=='const_unsafe_meth')].inner.header.unsafe" true
+    pub const unsafe fn const_unsafe_meth() {}
+
+    // It's impossible for a method to be both const and async, so no test for that
+}