Rust's layout.might_permit_raw_init went from taking true/false flag to taking:
InitKind::Zero, * which corresponds to the old true (and the intrinsic assert_zero_valid)
InitKind::Uninit, false which corresponds to the old false (and the instrinsic assert_uninit_valid)
InitKind::Uninit, false which adds an additional strict check. Unclear if we want it for something.
Upstream PR: rust-lang/rust#97323