error[E0308]: mismatched types --> $DIR/signature.rs:10:1 | LL | / pub unsafe extern "C" fn foo(a: i32, b: u32) -> u32 { LL | | LL | | loop {} LL | | } | |_^ expected normal fn, found unsafe fn | = note: expected fn pointer `fn(proc_macro::TokenStream) -> proc_macro::TokenStream` found fn item `unsafe extern "C" fn(i32, u32) -> u32 {foo}` note: associated function defined here --> $SRC_DIR/proc_macro/src/bridge/client.rs:LL:COL | LL | pub const fn custom_derive( | ^^^^^^^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.