use std::ffi::VaList; #[no_mangle] pub unsafe extern "C" fn va_list_test(count: int32_t, mut ap: VaList) -> int32_t { ap.arg() } #[no_mangle] pub unsafe extern "C" fn va_list_test2(count: int32_t, mut ap: ...) -> int32_t { ap.arg() } type VaListFnPtr = Option int32_t>; type VaListFnPtr2 = Option int32_t>; #[repr(C)] struct Interface { fn1: T, } #[no_mangle] pub extern "C" fn va_list_fn_ptrs( fn1: Option int32_t>, fn2: Option int32_t>, fn3: VaListFnPtr, fn4: VaListFnPtr2, fn5: Interface int32_t>>, fn6: Interface int32_t>>, ) { }