Tracking issue
While implementing the missing protocol handler functions in BootServices, I found that extern "efiapi" is incompatible with Rust's current (unstable) implementation of c variadics. Rustc indicates that C variadics must be extern "C" or extern "cdecl", thus install_multiple_protocol_interfaces() and uninstall_multiple_protocol_interfaces() cannot be implemented at this time.
I'll bring this up on the C variadic tracking issue in the next couple days if it hasn't been already.
Rust tracking issue: rust-lang/rust#44930
EDIT: technically I guess this could be possible with some clever and wildly unsafe asm but I'd much rather wait for Rust to support it.
Tracking issue
While implementing the missing protocol handler functions in
BootServices, I found thatextern "efiapi"is incompatible with Rust's current (unstable) implementation of c variadics. Rustc indicates that C variadics must beextern "C"orextern "cdecl", thusinstall_multiple_protocol_interfaces()anduninstall_multiple_protocol_interfaces()cannot be implemented at this time.I'll bring this up on the C variadic tracking issue in the next couple days if it hasn't been already.
Rust tracking issue: rust-lang/rust#44930
EDIT: technically I guess this could be possible with some clever and wildly unsafe asm but I'd much rather wait for Rust to support it.