This patch makes it possible to use varargs for calling conventions, which are either based on C (like efiapi) or C is based on them (for example sysv64 and win64).
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.