1 error: proc macro functions may not be `extern "C"`
2 --> $DIR/signature.rs:10:1
4 LL | pub unsafe extern "C" fn foo(a: i32, b: u32) -> u32 {
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 error: proc macro functions may not be `unsafe`
8 --> $DIR/signature.rs:10:1
10 LL | pub unsafe extern "C" fn foo(a: i32, b: u32) -> u32 {
11 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13 error: mismatched derive proc macro signature
14 --> $DIR/signature.rs:10:49
16 LL | pub unsafe extern "C" fn foo(a: i32, b: u32) -> u32 {
17 | ^^^ found u32, expected type `proc_macro::TokenStream`
19 = note: derive proc macros must have a signature of `fn(TokenStream) -> TokenStream`
21 error: mismatched derive proc macro signature
22 --> $DIR/signature.rs:10:33
24 LL | pub unsafe extern "C" fn foo(a: i32, b: u32) -> u32 {
25 | ^^^ found i32, expected type `proc_macro::TokenStream`
27 = note: derive proc macros must have a signature of `fn(TokenStream) -> TokenStream`
29 error: mismatched derive proc macro signature
30 --> $DIR/signature.rs:10:38
32 LL | pub unsafe extern "C" fn foo(a: i32, b: u32) -> u32 {
33 | ^^^^^^ found unexpected argument
35 error: aborting due to 5 previous errors