@@ -571,12 +571,21 @@ macro_rules! fnptr_impls_safety_abi {
571
571
}
572
572
573
573
macro_rules! fnptr_impls_args {
574
- ( $( $Arg: ident) ,* ) => {
574
+ ( $( $Arg: ident) ,+ ) => {
575
575
fnptr_impls_safety_abi! { extern "Rust" fn ( $( $Arg) ,* ) -> Ret , $( $Arg) ,* }
576
576
fnptr_impls_safety_abi! { extern "C" fn ( $( $Arg) ,* ) -> Ret , $( $Arg) ,* }
577
+ fnptr_impls_safety_abi! { extern "C" fn ( $( $Arg) ,* , ...) -> Ret , $( $Arg) ,* }
577
578
fnptr_impls_safety_abi! { unsafe extern "Rust" fn ( $( $Arg) ,* ) -> Ret , $( $Arg) ,* }
578
579
fnptr_impls_safety_abi! { unsafe extern "C" fn ( $( $Arg) ,* ) -> Ret , $( $Arg) ,* }
579
- }
580
+ fnptr_impls_safety_abi! { unsafe extern "C" fn ( $( $Arg) ,* , ...) -> Ret , $( $Arg) ,* }
581
+ } ;
582
+ ( ) => {
583
+ // No variadic functions with 0 parameters
584
+ fnptr_impls_safety_abi! { extern "Rust" fn ( ) -> Ret , }
585
+ fnptr_impls_safety_abi! { extern "C" fn ( ) -> Ret , }
586
+ fnptr_impls_safety_abi! { unsafe extern "Rust" fn ( ) -> Ret , }
587
+ fnptr_impls_safety_abi! { unsafe extern "C" fn ( ) -> Ret , }
588
+ } ;
580
589
}
581
590
582
591
fnptr_impls_args ! { }
0 commit comments