Open
Description
Consider the following code:
trait T {
extern "amdgpu-kernel" fn mu();
}
type TAU = extern "amdgpu-kernel" fn();
The check_abi
function…
rust/compiler/rustc_typeck/src/check/check.rs
Lines 37 to 59 in 0a8629b
… is not called for the following two ABI lines, meaning that the checks present therein do not activate, potentially allowing circumvention of the checks this function implements. In particular one thing that is allowed is taking the TAU
function pointer as an argument and calling it on architectures where this ABI is unsupported.
This becomes especially relevant after #86231 lands.