Replace `ZeroInit` with `bytemuck::Zeroable`
yvt opened this issue · 1 comments
yvt commented
r3_core::utils::ZeroInit
should be replaced by bytemuck::Zeroable
. The latter is derivable (which helps us remove some unsafe
impls) and has a better Rust ecosystem compatibility.
Zeroable
is missing the following implementations:
core::atomic::Atomic{Bool,{U,I}{8,16,32,64,size},Ptr<impl Sized>}
(Lokathor/bytemuck#74)Option<fn(Args...) -> R>
Option<&[mut ]_>
UnsafeCell<impl Zeroable>
(Lokathor/bytemuck#148)[impl Zeroable + Sized]
Zeroable
requiresSized