]> git.lizzy.rs Git - rust.git/blob - tests/rustdoc-json/methods/abi.rs
Rollup merge of #106644 - alexcrichton:update-wasi-toolchain, r=cuviper
[rust.git] / tests / rustdoc-json / methods / abi.rs
1 // ignore-tidy-linelength
2
3 #![feature(abi_vectorcall)]
4 #![feature(c_unwind)]
5 #![feature(no_core)]
6 #![no_core]
7
8 // @has "$.index[*][?(@.name=='Foo')]"
9 pub struct Foo;
10
11 impl Foo {
12     // @is "$.index[*][?(@.name=='abi_rust')].inner.header.abi" \"Rust\"
13     pub fn abi_rust() {}
14
15     // @is "$.index[*][?(@.name=='abi_c')].inner.header.abi" '{"C": {"unwind": false}}'
16     pub extern "C" fn abi_c() {}
17
18     // @is "$.index[*][?(@.name=='abi_system')].inner.header.abi" '{"System": {"unwind": false}}'
19     pub extern "system" fn abi_system() {}
20
21     // @is "$.index[*][?(@.name=='abi_c_unwind')].inner.header.abi" '{"C": {"unwind": true}}'
22     pub extern "C-unwind" fn abi_c_unwind() {}
23
24     // @is "$.index[*][?(@.name=='abi_system_unwind')].inner.header.abi" '{"System": {"unwind": true}}'
25     pub extern "system-unwind" fn abi_system_unwind() {}
26
27     // @is "$.index[*][?(@.name=='abi_vectorcall')].inner.header.abi.Other" '"\"vectorcall\""'
28     pub extern "vectorcall" fn abi_vectorcall() {}
29
30     // @is "$.index[*][?(@.name=='abi_vectorcall_unwind')].inner.header.abi.Other" '"\"vectorcall-unwind\""'
31     pub extern "vectorcall-unwind" fn abi_vectorcall_unwind() {}
32 }
33
34 pub trait Bar {
35     // @is "$.index[*][?(@.name=='trait_abi_rust')].inner.header.abi" \"Rust\"
36     fn trait_abi_rust() {}
37
38     // @is "$.index[*][?(@.name=='trait_abi_c')].inner.header.abi" '{"C": {"unwind": false}}'
39     extern "C" fn trait_abi_c() {}
40
41     // @is "$.index[*][?(@.name=='trait_abi_system')].inner.header.abi" '{"System": {"unwind": false}}'
42     extern "system" fn trait_abi_system() {}
43
44     // @is "$.index[*][?(@.name=='trait_abi_c_unwind')].inner.header.abi" '{"C": {"unwind": true}}'
45     extern "C-unwind" fn trait_abi_c_unwind() {}
46
47     // @is "$.index[*][?(@.name=='trait_abi_system_unwind')].inner.header.abi" '{"System": {"unwind": true}}'
48     extern "system-unwind" fn trait_abi_system_unwind() {}
49
50     // @is "$.index[*][?(@.name=='trait_abi_vectorcall')].inner.header.abi.Other" '"\"vectorcall\""'
51     extern "vectorcall" fn trait_abi_vectorcall() {}
52
53     // @is "$.index[*][?(@.name=='trait_abi_vectorcall_unwind')].inner.header.abi.Other" '"\"vectorcall-unwind\""'
54     extern "vectorcall-unwind" fn trait_abi_vectorcall_unwind() {}
55 }