mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-15 05:26:47 +00:00
Ignore zero-sized types in wasm future-compat warning
This commit fixes a false positive of the warning triggered for #138762 and the fix is to codify that zero-sized types are "safe" in both the old and new ABIs.
This commit is contained in:
parent
e0883a2a6c
commit
88d8fd2742
@ -111,6 +111,11 @@ fn wasm_abi_safe<'tcx>(tcx: TyCtxt<'tcx>, arg: &ArgAbi<'tcx, Ty<'tcx>>) -> bool
|
||||
}
|
||||
}
|
||||
|
||||
// Zero-sized types are dropped in both ABIs, so they're safe
|
||||
if arg.layout.size.bytes() == 0 {
|
||||
return true;
|
||||
}
|
||||
|
||||
false
|
||||
}
|
||||
|
||||
|
@ -39,3 +39,9 @@ pub fn call_other_fun(x: MyType) {
|
||||
unsafe { other_fun(x) } //~ERROR: wasm ABI transition
|
||||
//~^WARN: previously accepted
|
||||
}
|
||||
|
||||
// Zero-sized types are safe in both ABIs
|
||||
#[repr(C)]
|
||||
pub struct MyZstType;
|
||||
#[allow(improper_ctypes_definitions)]
|
||||
pub extern "C" fn zst_safe(_x: (), _y: MyZstType) {}
|
||||
|
Loading…
Reference in New Issue
Block a user