Pre-RFC: Explicit overload sets for mixed-arity function calls
Rust Internals [Unofficial]
June 11, 2026
If this is purely for FFI, then to me, the obvious way to solve the problem is for functions to have different names on the two sides of the FFI boundary: on the Rust side of the boundary, all the overloads of a given C++ function would have their own individual names, but on the C++ side they would all have the same name, with the extern block specifying the mapping between them.
That would avoid any complication in Rust the language: the only additional complication from the overloads would be about writing the extern block, as it would need to specify both names.
Discussion in the ATmosphere