summaryrefslogtreecommitdiffstats
path: root/src/test/rustdoc-json/methods/qualifiers.rs
blob: af36d36b6607d9bcfe0f8226f29ec8327ca6e6f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// edition:2018

pub struct Foo;

impl Foo {
    // @is qualifiers.json "$.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
}