]> git.lizzy.rs Git - rust.git/blob - src/test/ui/macros/macros-in-extern.rs
Auto merge of #61741 - Centril:rollup-fgro5kz, r=Centril
[rust.git] / src / test / ui / macros / macros-in-extern.rs
1 // ignore-wasm32
2
3 #![feature(decl_macro)]
4
5 macro_rules! returns_isize(
6     ($ident:ident) => (
7         fn $ident() -> isize;
8     )
9 );
10
11 macro takes_u32_returns_u32($ident:ident) {
12     fn $ident (arg: u32) -> u32;
13 }
14
15 macro_rules! emits_nothing(
16     () => ()
17 );
18
19 fn main() {
20     assert_eq!(unsafe { rust_get_test_int() }, 0isize);
21     assert_eq!(unsafe { rust_dbg_extern_identity_u32(0xDEADBEEF) }, 0xDEADBEEFu32);
22 }
23
24 #[link(name = "rust_test_helpers", kind = "static")]
25 extern {
26     returns_isize!(rust_get_test_int);
27     //~^ ERROR macro invocations in `extern {}` blocks are experimental
28     takes_u32_returns_u32!(rust_dbg_extern_identity_u32);
29     //~^ ERROR macro invocations in `extern {}` blocks are experimental
30     emits_nothing!();
31     //~^ ERROR macro invocations in `extern {}` blocks are experimental
32 }