summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Xu <accounts@dxuuu.xyz>2021-05-11 10:46:27 -0500
committerGitHub <noreply@github.com>2021-05-11 17:46:27 +0200
commite6684dc5c56d0283b9c14b34f68d445e9d5a580f (patch)
tree024daaec5497f25d60fdc39f3efe1fd76ed0c397
parent4116b701f5c86f4197824703d935283ca644c21b (diff)
Zero out padding in custom Default trait implementations (#2051)
* Zero out padding in custom Default trait implementations Previously, we were using `std::mem::zeroed()` which unfortunately does not necessarily zero out padding. It'd be better if the padding is zeroed out because some libraries are sensitive to non-zero'd out bytes, especially when forward/backward compatability is involved. This commit ensures all bytes are zeroed out in custom Default trait implementations.
-rw-r--r--src/codegen/mod.rs25
-rw-r--r--tests/expectations/tests/16-byte-alignment.rs30
-rw-r--r--tests/expectations/tests/16-byte-alignment_1_0.rs6
-rw-r--r--tests/expectations/tests/allowlist_basic.rs12
-rw-r--r--tests/expectations/tests/anon-fields-prefix.rs6
-rw-r--r--tests/expectations/tests/anon_struct_in_union.rs12
-rw-r--r--tests/expectations/tests/anon_union.rs18
-rw-r--r--tests/expectations/tests/anon_union_1_0.rs12
-rw-r--r--tests/expectations/tests/anonymous-template-types.rs12
-rw-r--r--tests/expectations/tests/bad-namespace-parenthood-inheritance.rs6
-rw-r--r--tests/expectations/tests/bitfield_align_2.rs6
-rw-r--r--tests/expectations/tests/blocklist-and-impl-debug.rs6
-rw-r--r--tests/expectations/tests/blocks-signature.rs6
-rw-r--r--tests/expectations/tests/blocks.rs6
-rw-r--r--tests/expectations/tests/c_naming.rs6
-rw-r--r--tests/expectations/tests/class.rs42
-rw-r--r--tests/expectations/tests/class_1_0.rs30
-rw-r--r--tests/expectations/tests/class_nested.rs18
-rw-r--r--tests/expectations/tests/class_with_dtor.rs12
-rw-r--r--tests/expectations/tests/class_with_inner_struct.rs36
-rw-r--r--tests/expectations/tests/class_with_inner_struct_1_0.rs6
-rw-r--r--tests/expectations/tests/class_with_typedef.rs12
-rw-r--r--tests/expectations/tests/complex.rs12
-rw-r--r--tests/expectations/tests/const-const-mut-ptr.rs6
-rw-r--r--tests/expectations/tests/const_tparam.rs6
-rw-r--r--tests/expectations/tests/constify-all-enums.rs6
-rw-r--r--tests/expectations/tests/constify-module-enums-basic.rs6
-rw-r--r--tests/expectations/tests/constify-module-enums-namespace.rs6
-rw-r--r--tests/expectations/tests/constify-module-enums-shadow-name.rs6
-rw-r--r--tests/expectations/tests/constify-module-enums-simple-alias.rs6
-rw-r--r--tests/expectations/tests/constify-module-enums-simple-nonamespace.rs6
-rw-r--r--tests/expectations/tests/constify-module-enums-types.rs24
-rw-r--r--tests/expectations/tests/convert-cpp-comment-to-rust.rs6
-rw-r--r--tests/expectations/tests/convert-floats.rs6
-rw-r--r--tests/expectations/tests/ctypes-prefix-path.rs6
-rw-r--r--tests/expectations/tests/default-template-parameter.rs6
-rw-r--r--tests/expectations/tests/derive-bitfield-method-same-name.rs6
-rw-r--r--tests/expectations/tests/derive-clone.rs6
-rw-r--r--tests/expectations/tests/derive-clone_1_0.rs6
-rw-r--r--tests/expectations/tests/derive-debug-bitfield-core.rs6
-rw-r--r--tests/expectations/tests/derive-debug-bitfield.rs6
-rw-r--r--tests/expectations/tests/derive-debug-function-pointer.rs6
-rw-r--r--tests/expectations/tests/derive-debug-generic.rs6
-rw-r--r--tests/expectations/tests/derive-debug-mangle-name.rs12
-rw-r--r--tests/expectations/tests/derive-debug-opaque-template-instantiation.rs6
-rw-r--r--tests/expectations/tests/derive-debug-opaque.rs12
-rw-r--r--tests/expectations/tests/derive-default-and-blocklist.rs6
-rw-r--r--tests/expectations/tests/derive-hash-and-blocklist.rs6
-rw-r--r--tests/expectations/tests/derive-hash-blocklisting.rs12
-rw-r--r--tests/expectations/tests/derive-hash-struct-with-pointer.rs24
-rw-r--r--tests/expectations/tests/derive-hash-template-def-float.rs6
-rw-r--r--tests/expectations/tests/derive-hash-template-inst-float.rs18
-rw-r--r--tests/expectations/tests/derive-partialeq-and-blocklist.rs6
-rw-r--r--tests/expectations/tests/derive-partialeq-anonfield.rs12
-rw-r--r--tests/expectations/tests/derive-partialeq-base.rs12
-rw-r--r--tests/expectations/tests/derive-partialeq-bitfield.rs6
-rw-r--r--tests/expectations/tests/derive-partialeq-core.rs6
-rw-r--r--tests/expectations/tests/derive-partialeq-pointer.rs24
-rw-r--r--tests/expectations/tests/derive-partialeq-union.rs6
-rw-r--r--tests/expectations/tests/derive-partialeq-union_1_0.rs6
-rw-r--r--tests/expectations/tests/doggo-or-null.rs6
-rw-r--r--tests/expectations/tests/duplicated-namespaces-definitions.rs6
-rw-r--r--tests/expectations/tests/empty-union.rs6
-rw-r--r--tests/expectations/tests/enum-default-bitfield.rs6
-rw-r--r--tests/expectations/tests/enum-default-consts.rs6
-rw-r--r--tests/expectations/tests/enum-default-module.rs6
-rw-r--r--tests/expectations/tests/enum-default-rust.rs6
-rw-r--r--tests/expectations/tests/enum.rs6
-rw-r--r--tests/expectations/tests/enum_and_vtable_mangling.rs6
-rw-r--r--tests/expectations/tests/extern-const-struct.rs6
-rw-r--r--tests/expectations/tests/forward-declaration-autoptr.rs12
-rw-r--r--tests/expectations/tests/forward-inherit-struct-with-fields.rs12
-rw-r--r--tests/expectations/tests/forward-inherit-struct.rs6
-rw-r--r--tests/expectations/tests/forward_declared_complex_types.rs6
-rw-r--r--tests/expectations/tests/forward_declared_complex_types_1_0.rs6
-rw-r--r--tests/expectations/tests/incomplete-array-padding.rs6
-rw-r--r--tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs36
-rw-r--r--tests/expectations/tests/inherit-namespaced.rs6
-rw-r--r--tests/expectations/tests/inherit_named.rs6
-rw-r--r--tests/expectations/tests/inline_namespace_no_ns_enabled.rs18
-rw-r--r--tests/expectations/tests/inner_template_self.rs12
-rw-r--r--tests/expectations/tests/issue-1113-template-references.rs12
-rw-r--r--tests/expectations/tests/issue-1118-using-forward-decl.rs18
-rw-r--r--tests/expectations/tests/issue-1197-pure-virtual-stuff.rs6
-rw-r--r--tests/expectations/tests/issue-1285.rs12
-rw-r--r--tests/expectations/tests/issue-1443.rs24
-rw-r--r--tests/expectations/tests/issue-1498.rs12
-rw-r--r--tests/expectations/tests/issue-1514.rs12
-rw-r--r--tests/expectations/tests/issue-358.rs12
-rw-r--r--tests/expectations/tests/issue-372.rs18
-rw-r--r--tests/expectations/tests/issue-446.rs12
-rw-r--r--tests/expectations/tests/issue-493.rs42
-rw-r--r--tests/expectations/tests/issue-493_1_0.rs18
-rw-r--r--tests/expectations/tests/issue-544-stylo-creduce-2.rs6
-rw-r--r--tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs12
-rw-r--r--tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs18
-rw-r--r--tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs12
-rw-r--r--tests/expectations/tests/issue-643-inner-struct.rs6
-rw-r--r--tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs6
-rw-r--r--tests/expectations/tests/issue-648-derive-debug-with-padding.rs12
-rw-r--r--tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs18
-rw-r--r--tests/expectations/tests/issue-662-part-2.rs12
-rw-r--r--tests/expectations/tests/issue-691-template-parameter-virtual.rs12
-rw-r--r--tests/expectations/tests/issue-848-replacement-system-include.rs6
-rw-r--r--tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs6
-rw-r--r--tests/expectations/tests/jsval_layout_opaque.rs30
-rw-r--r--tests/expectations/tests/jsval_layout_opaque_1_0.rs6
-rw-r--r--tests/expectations/tests/layout.rs6
-rw-r--r--tests/expectations/tests/layout_align.rs6
-rw-r--r--tests/expectations/tests/layout_array.rs24
-rw-r--r--tests/expectations/tests/layout_array_too_long.rs18
-rw-r--r--tests/expectations/tests/layout_cmdline_token.rs18
-rw-r--r--tests/expectations/tests/layout_eth_conf.rs90
-rw-r--r--tests/expectations/tests/layout_eth_conf_1_0.rs84
-rw-r--r--tests/expectations/tests/layout_kni_mbuf.rs6
-rw-r--r--tests/expectations/tests/layout_large_align_field.rs36
-rw-r--r--tests/expectations/tests/layout_mbuf.rs48
-rw-r--r--tests/expectations/tests/layout_mbuf_1_0.rs6
-rw-r--r--tests/expectations/tests/libclang-3.9/issue-769-bad-instantiation-test.rs6
-rw-r--r--tests/expectations/tests/libclang-4/issue-769-bad-instantiation-test.rs6
-rw-r--r--tests/expectations/tests/libclang-4/type_alias_template_specialized.rs6
-rw-r--r--tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs6
-rw-r--r--tests/expectations/tests/libclang-5/type_alias_template_specialized.rs6
-rw-r--r--tests/expectations/tests/libclang-9/class.rs42
-rw-r--r--tests/expectations/tests/libclang-9/class_1_0.rs30
-rw-r--r--tests/expectations/tests/libclang-9/incomplete-array-padding.rs6
-rw-r--r--tests/expectations/tests/libclang-9/issue-643-inner-struct.rs6
-rw-r--r--tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs6
-rw-r--r--tests/expectations/tests/libclang-9/layout_align.rs6
-rw-r--r--tests/expectations/tests/libclang-9/type_alias_template_specialized.rs6
-rw-r--r--tests/expectations/tests/namespace.rs12
-rw-r--r--tests/expectations/tests/nested_vtable.rs18
-rw-r--r--tests/expectations/tests/no-derive-debug.rs6
-rw-r--r--tests/expectations/tests/no-recursive-allowlisting.rs6
-rw-r--r--tests/expectations/tests/no-std.rs6
-rw-r--r--tests/expectations/tests/no_debug_bypass_impl_debug.rs12
-rw-r--r--tests/expectations/tests/no_default.rs6
-rw-r--r--tests/expectations/tests/no_default_bypass_derive_default.rs6
-rw-r--r--tests/expectations/tests/nsBaseHashtable.rs18
-rw-r--r--tests/expectations/tests/nsStyleAutoArray.rs12
-rw-r--r--tests/expectations/tests/objc_interface_type.rs6
-rw-r--r--tests/expectations/tests/opaque-template-inst-member-2.rs6
-rw-r--r--tests/expectations/tests/opaque-template-inst-member.rs12
-rw-r--r--tests/expectations/tests/opaque-template-instantiation-namespaced.rs12
-rw-r--r--tests/expectations/tests/opaque-template-instantiation.rs12
-rw-r--r--tests/expectations/tests/opaque_pointer.rs6
-rw-r--r--tests/expectations/tests/packed-vtable.rs6
-rw-r--r--tests/expectations/tests/private_fields.rs12
-rw-r--r--tests/expectations/tests/ref_argument_array.rs6
-rw-r--r--tests/expectations/tests/replace_template_alias.rs6
-rw-r--r--tests/expectations/tests/replaces_double.rs12
-rw-r--r--tests/expectations/tests/size_t_is_usize.rs6
-rw-r--r--tests/expectations/tests/struct_containing_forward_declared_struct.rs6
-rw-r--r--tests/expectations/tests/struct_typedef.rs6
-rw-r--r--tests/expectations/tests/struct_with_anon_struct_pointer.rs6
-rw-r--r--tests/expectations/tests/struct_with_anon_union.rs12
-rw-r--r--tests/expectations/tests/struct_with_anon_unnamed_union.rs12
-rw-r--r--tests/expectations/tests/struct_with_derive_debug.rs12
-rw-r--r--tests/expectations/tests/struct_with_large_array.rs12
-rw-r--r--tests/expectations/tests/struct_with_nesting.rs12
-rw-r--r--tests/expectations/tests/template-param-usage-0.rs6
-rw-r--r--tests/expectations/tests/template-param-usage-10.rs12
-rw-r--r--tests/expectations/tests/template-param-usage-12.rs12
-rw-r--r--tests/expectations/tests/template-param-usage-13.rs6
-rw-r--r--tests/expectations/tests/template-param-usage-14.rs6
-rw-r--r--tests/expectations/tests/template-param-usage-15.rs12
-rw-r--r--tests/expectations/tests/template-param-usage-2.rs12
-rw-r--r--tests/expectations/tests/template-param-usage-3.rs12
-rw-r--r--tests/expectations/tests/template-param-usage-4.rs6
-rw-r--r--tests/expectations/tests/template-param-usage-5.rs6
-rw-r--r--tests/expectations/tests/template-param-usage-7.rs6
-rw-r--r--tests/expectations/tests/template-param-usage-8.rs6
-rw-r--r--tests/expectations/tests/template-param-usage-9.rs6
-rw-r--r--tests/expectations/tests/template.rs102
-rw-r--r--tests/expectations/tests/template_alias.rs6
-rw-r--r--tests/expectations/tests/template_alias_namespace.rs6
-rw-r--r--tests/expectations/tests/template_typedef_transitive_param.rs6
-rw-r--r--tests/expectations/tests/timex.rs12
-rw-r--r--tests/expectations/tests/transform-op.rs54
-rw-r--r--tests/expectations/tests/type_alias_partial_template_especialization.rs6
-rw-r--r--tests/expectations/tests/typeref.rs24
-rw-r--r--tests/expectations/tests/typeref_1_0.rs6
-rw-r--r--tests/expectations/tests/union-align.rs12
-rw-r--r--tests/expectations/tests/union-in-ns.rs6
-rw-r--r--tests/expectations/tests/union_bitfield.rs12
-rw-r--r--tests/expectations/tests/union_bitfield_1_0.rs6
-rw-r--r--tests/expectations/tests/union_dtor.rs6
-rw-r--r--tests/expectations/tests/union_fields.rs6
-rw-r--r--tests/expectations/tests/union_template.rs24
-rw-r--r--tests/expectations/tests/union_with_anon_struct.rs6
-rw-r--r--tests/expectations/tests/union_with_anon_struct_bitfield.rs6
-rw-r--r--tests/expectations/tests/union_with_anon_union.rs12
-rw-r--r--tests/expectations/tests/union_with_anon_unnamed_struct.rs6
-rw-r--r--tests/expectations/tests/union_with_anon_unnamed_union.rs12
-rw-r--r--tests/expectations/tests/union_with_big_member.rs18
-rw-r--r--tests/expectations/tests/union_with_big_member_1_0.rs12
-rw-r--r--tests/expectations/tests/union_with_nesting.rs24
-rw-r--r--tests/expectations/tests/use-core.rs12
-rw-r--r--tests/expectations/tests/use-core_1_0.rs6
-rw-r--r--tests/expectations/tests/using.rs6
-rw-r--r--tests/expectations/tests/virtual_dtor.rs6
-rw-r--r--tests/expectations/tests/virtual_inheritance.rs18
-rw-r--r--tests/expectations/tests/virtual_overloaded.rs6
-rw-r--r--tests/expectations/tests/vtable_recursive_sig.rs12
-rw-r--r--tests/expectations/tests/weird_bitfields.rs6
-rw-r--r--tests/expectations/tests/what_is_going_on.rs6
206 files changed, 2114 insertions, 419 deletions
diff --git a/src/codegen/mod.rs b/src/codegen/mod.rs
index 1a702b00..6f8a451a 100644
--- a/src/codegen/mod.rs
+++ b/src/codegen/mod.rs
@@ -2196,9 +2196,32 @@ impl CodeGenerator for CompInfo {
if needs_default_impl {
let prefix = ctx.trait_prefix();
+ let body = if ctx.options().rust_features().maybe_uninit {
+ quote! {
+ let mut s = ::#prefix::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::#prefix::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+ } else {
+ quote! {
+ unsafe {
+ let mut s: Self = ::#prefix::mem::uninitialized();
+ ::#prefix::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
+ }
+ };
+ // Note we use `ptr::write_bytes()` instead of `mem::zeroed()` because the latter does
+ // not necessarily ensure padding bytes are zeroed. Some C libraries are sensitive to
+ // non-zero padding bytes, especially when forwards/backwards compatability is
+ // involved.
result.push(quote! {
impl #generics Default for #ty_for_impl {
- fn default() -> Self { unsafe { ::#prefix::mem::zeroed() } }
+ fn default() -> Self {
+ #body
+ }
}
});
}
diff --git a/tests/expectations/tests/16-byte-alignment.rs b/tests/expectations/tests/16-byte-alignment.rs
index 0bb92fd1..058568f2 100644
--- a/tests/expectations/tests/16-byte-alignment.rs
+++ b/tests/expectations/tests/16-byte-alignment.rs
@@ -99,7 +99,11 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1() {
}
impl Default for rte_ipv4_tuple__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -143,7 +147,11 @@ fn bindgen_test_layout_rte_ipv4_tuple() {
}
impl Default for rte_ipv4_tuple {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -240,7 +248,11 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1() {
}
impl Default for rte_ipv6_tuple__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -284,7 +296,11 @@ fn bindgen_test_layout_rte_ipv6_tuple() {
}
impl Default for rte_ipv6_tuple {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -333,6 +349,10 @@ fn bindgen_test_layout_rte_thash_tuple() {
}
impl Default for rte_thash_tuple {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/16-byte-alignment_1_0.rs b/tests/expectations/tests/16-byte-alignment_1_0.rs
index 8b105573..1df6778b 100644
--- a/tests/expectations/tests/16-byte-alignment_1_0.rs
+++ b/tests/expectations/tests/16-byte-alignment_1_0.rs
@@ -390,6 +390,10 @@ impl Clone for rte_thash_tuple {
}
impl Default for rte_thash_tuple {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
diff --git a/tests/expectations/tests/allowlist_basic.rs b/tests/expectations/tests/allowlist_basic.rs
index 4e72e8b6..5bfe42e8 100644
--- a/tests/expectations/tests/allowlist_basic.rs
+++ b/tests/expectations/tests/allowlist_basic.rs
@@ -20,11 +20,19 @@ pub struct AllowlistMe_Inner<T> {
}
impl<T> Default for AllowlistMe_Inner<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<T> Default for AllowlistMe<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/anon-fields-prefix.rs b/tests/expectations/tests/anon-fields-prefix.rs
index f358dbd8..edd551d1 100644
--- a/tests/expectations/tests/anon-fields-prefix.rs
+++ b/tests/expectations/tests/anon-fields-prefix.rs
@@ -150,6 +150,10 @@ fn bindgen_test_layout_color() {
}
impl Default for color {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/anon_struct_in_union.rs b/tests/expectations/tests/anon_struct_in_union.rs
index 008ab611..1a404015 100644
--- a/tests/expectations/tests/anon_struct_in_union.rs
+++ b/tests/expectations/tests/anon_struct_in_union.rs
@@ -74,7 +74,11 @@ fn bindgen_test_layout_s__bindgen_ty_1() {
}
impl Default for s__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -97,6 +101,10 @@ fn bindgen_test_layout_s() {
}
impl Default for s {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/anon_union.rs b/tests/expectations/tests/anon_union.rs
index 386d8fad..8caf7d11 100644
--- a/tests/expectations/tests/anon_union.rs
+++ b/tests/expectations/tests/anon_union.rs
@@ -38,12 +38,20 @@ pub union TErrorResult__bindgen_ty_1 {
}
impl Default for TErrorResult__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Default for TErrorResult {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -65,7 +73,11 @@ fn bindgen_test_layout_ErrorResult() {
}
impl Default for ErrorResult {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/anon_union_1_0.rs b/tests/expectations/tests/anon_union_1_0.rs
index fbd6b369..63273e60 100644
--- a/tests/expectations/tests/anon_union_1_0.rs
+++ b/tests/expectations/tests/anon_union_1_0.rs
@@ -83,7 +83,11 @@ pub struct TErrorResult__bindgen_ty_1 {
}
impl Default for TErrorResult {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -111,7 +115,11 @@ impl Clone for ErrorResult {
}
impl Default for ErrorResult {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/anonymous-template-types.rs b/tests/expectations/tests/anonymous-template-types.rs
index 3d072864..14afd6b3 100644
--- a/tests/expectations/tests/anonymous-template-types.rs
+++ b/tests/expectations/tests/anonymous-template-types.rs
@@ -13,7 +13,11 @@ pub struct Foo<T> {
}
impl<T> Default for Foo<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -29,7 +33,11 @@ pub struct Quux<V> {
}
impl<V> Default for Quux<V> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs b/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs
index 228dafd5..4d0d6bcd 100644
--- a/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs
+++ b/tests/expectations/tests/bad-namespace-parenthood-inheritance.rs
@@ -12,7 +12,11 @@ pub struct std_char_traits {
}
impl Default for std_char_traits {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/bitfield_align_2.rs b/tests/expectations/tests/bitfield_align_2.rs
index f4f0c98a..1a1f7dd8 100644
--- a/tests/expectations/tests/bitfield_align_2.rs
+++ b/tests/expectations/tests/bitfield_align_2.rs
@@ -121,7 +121,11 @@ fn bindgen_test_layout_TaggedPtr() {
}
impl Default for TaggedPtr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl TaggedPtr {
diff --git a/tests/expectations/tests/blocklist-and-impl-debug.rs b/tests/expectations/tests/blocklist-and-impl-debug.rs
index f272f9be..ba39fb14 100644
--- a/tests/expectations/tests/blocklist-and-impl-debug.rs
+++ b/tests/expectations/tests/blocklist-and-impl-debug.rs
@@ -40,7 +40,11 @@ fn bindgen_test_layout_ShouldManuallyImplDebug() {
}
impl Default for ShouldManuallyImplDebug {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for ShouldManuallyImplDebug {
diff --git a/tests/expectations/tests/blocks-signature.rs b/tests/expectations/tests/blocks-signature.rs
index bd9d8150..22136ddf 100644
--- a/tests/expectations/tests/blocks-signature.rs
+++ b/tests/expectations/tests/blocks-signature.rs
@@ -76,7 +76,11 @@ fn bindgen_test_layout_contains_block_pointers() {
}
impl Default for contains_block_pointers {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type _bindgen_ty_id_33 = *const ::block::Block<(), ()>;
diff --git a/tests/expectations/tests/blocks.rs b/tests/expectations/tests/blocks.rs
index 4c731f89..b2ae0b29 100644
--- a/tests/expectations/tests/blocks.rs
+++ b/tests/expectations/tests/blocks.rs
@@ -75,6 +75,10 @@ fn bindgen_test_layout_contains_block_pointers() {
}
impl Default for contains_block_pointers {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/c_naming.rs b/tests/expectations/tests/c_naming.rs
index 041e75ea..abcccf1f 100644
--- a/tests/expectations/tests/c_naming.rs
+++ b/tests/expectations/tests/c_naming.rs
@@ -75,7 +75,11 @@ fn bindgen_test_layout_union_b() {
}
impl Default for union_b {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type b = union_b;
diff --git a/tests/expectations/tests/class.rs b/tests/expectations/tests/class.rs
index b13b3c81..3d3afb19 100644
--- a/tests/expectations/tests/class.rs
+++ b/tests/expectations/tests/class.rs
@@ -71,7 +71,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -134,7 +138,11 @@ fn bindgen_test_layout_C_with_zero_length_array() {
}
impl Default for C_with_zero_length_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -203,7 +211,11 @@ fn bindgen_test_layout_C_with_incomplete_array() {
}
impl Default for C_with_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -253,7 +265,11 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() {
}
impl Default for C_with_zero_length_array_and_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -332,7 +348,11 @@ fn bindgen_test_layout_IncompleteArrayNonCopiable() {
}
impl Default for IncompleteArrayNonCopiable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -366,7 +386,11 @@ fn bindgen_test_layout_Union() {
}
impl Default for Union {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -401,7 +425,11 @@ fn bindgen_test_layout_WithUnion() {
}
impl Default for WithUnion {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/class_1_0.rs b/tests/expectations/tests/class_1_0.rs
index b341bdbe..3f948bb1 100644
--- a/tests/expectations/tests/class_1_0.rs
+++ b/tests/expectations/tests/class_1_0.rs
@@ -119,7 +119,11 @@ impl Clone for C {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
impl ::std::cmp::PartialEq for C {
@@ -187,7 +191,11 @@ fn bindgen_test_layout_C_with_zero_length_array() {
}
impl Default for C_with_zero_length_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -256,7 +264,11 @@ fn bindgen_test_layout_C_with_incomplete_array() {
}
impl Default for C_with_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -306,7 +318,11 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() {
}
impl Default for C_with_zero_length_array_and_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -385,7 +401,11 @@ fn bindgen_test_layout_IncompleteArrayNonCopiable() {
}
impl Default for IncompleteArrayNonCopiable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/class_nested.rs b/tests/expectations/tests/class_nested.rs
index 5f7a1dfc..ecc5c20a 100644
--- a/tests/expectations/tests/class_nested.rs
+++ b/tests/expectations/tests/class_nested.rs
@@ -48,7 +48,11 @@ pub struct A_D<T> {
}
impl<T> Default for A_D<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -159,11 +163,19 @@ pub struct Templated_Templated_inner<T> {
}
impl<T> Default for Templated_Templated_inner<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<T> Default for Templated<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/class_with_dtor.rs b/tests/expectations/tests/class_with_dtor.rs
index 7cefe99d..0cf2d8d2 100644
--- a/tests/expectations/tests/class_with_dtor.rs
+++ b/tests/expectations/tests/class_with_dtor.rs
@@ -13,7 +13,11 @@ pub struct HandleWithDtor<T> {
}
impl<T> Default for HandleWithDtor<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type HandleValue = HandleWithDtor<::std::os::raw::c_int>;
@@ -50,7 +54,11 @@ fn bindgen_test_layout_WithoutDtor() {
}
impl Default for WithoutDtor {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/class_with_inner_struct.rs b/tests/expectations/tests/class_with_inner_struct.rs
index eab54118..35ed7659 100644
--- a/tests/expectations/tests/class_with_inner_struct.rs
+++ b/tests/expectations/tests/class_with_inner_struct.rs
@@ -87,7 +87,11 @@ fn bindgen_test_layout_A__bindgen_ty_1() {
}
impl Default for A__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -122,7 +126,11 @@ fn bindgen_test_layout_A__bindgen_ty_2() {
}
impl Default for A__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -157,7 +165,11 @@ fn bindgen_test_layout_A() {
}
impl Default for A {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -366,7 +378,11 @@ fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_2() {
}
impl Default for C__bindgen_ty_1__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -397,7 +413,11 @@ fn bindgen_test_layout_C__bindgen_ty_1() {
}
impl Default for C__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -463,6 +483,10 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/class_with_inner_struct_1_0.rs b/tests/expectations/tests/class_with_inner_struct_1_0.rs
index 4bb71602..52cd590d 100644
--- a/tests/expectations/tests/class_with_inner_struct_1_0.rs
+++ b/tests/expectations/tests/class_with_inner_struct_1_0.rs
@@ -437,7 +437,11 @@ impl Clone for C__bindgen_ty_1__bindgen_ty_2 {
}
impl Default for C__bindgen_ty_1__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/class_with_typedef.rs b/tests/expectations/tests/class_with_typedef.rs
index 52f89b4d..31faa49d 100644
--- a/tests/expectations/tests/class_with_typedef.rs
+++ b/tests/expectations/tests/class_with_typedef.rs
@@ -78,7 +78,11 @@ extern "C" {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl C {
@@ -125,6 +129,10 @@ fn bindgen_test_layout_D() {
}
impl Default for D {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/complex.rs b/tests/expectations/tests/complex.rs
index b13ac90a..4dae0717 100644
--- a/tests/expectations/tests/complex.rs
+++ b/tests/expectations/tests/complex.rs
@@ -74,7 +74,11 @@ fn bindgen_test_layout_TestDoublePtr() {
}
impl Default for TestDoublePtr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -140,6 +144,10 @@ fn bindgen_test_layout_TestFloatPtr() {
}
impl Default for TestFloatPtr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/const-const-mut-ptr.rs b/tests/expectations/tests/const-const-mut-ptr.rs
index 789fccd6..bc1e7627 100644
--- a/tests/expectations/tests/const-const-mut-ptr.rs
+++ b/tests/expectations/tests/const-const-mut-ptr.rs
@@ -30,6 +30,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/const_tparam.rs b/tests/expectations/tests/const_tparam.rs
index f56561f0..ec256872 100644
--- a/tests/expectations/tests/const_tparam.rs
+++ b/tests/expectations/tests/const_tparam.rs
@@ -14,6 +14,10 @@ pub struct C<T> {
}
impl<T> Default for C<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/constify-all-enums.rs b/tests/expectations/tests/constify-all-enums.rs
index 3c450e62..78bb99fa 100644
--- a/tests/expectations/tests/constify-all-enums.rs
+++ b/tests/expectations/tests/constify-all-enums.rs
@@ -42,6 +42,10 @@ fn bindgen_test_layout_bar() {
}
impl Default for bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/constify-module-enums-basic.rs b/tests/expectations/tests/constify-module-enums-basic.rs
index 2cbb09bd..59e9ba12 100644
--- a/tests/expectations/tests/constify-module-enums-basic.rs
+++ b/tests/expectations/tests/constify-module-enums-basic.rs
@@ -46,7 +46,11 @@ fn bindgen_test_layout_bar() {
}
impl Default for bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/constify-module-enums-namespace.rs b/tests/expectations/tests/constify-module-enums-namespace.rs
index c18b7175..e434291a 100644
--- a/tests/expectations/tests/constify-module-enums-namespace.rs
+++ b/tests/expectations/tests/constify-module-enums-namespace.rs
@@ -58,7 +58,11 @@ pub mod root {
}
impl Default for bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
}
diff --git a/tests/expectations/tests/constify-module-enums-shadow-name.rs b/tests/expectations/tests/constify-module-enums-shadow-name.rs
index 16f13fdb..60401dc0 100644
--- a/tests/expectations/tests/constify-module-enums-shadow-name.rs
+++ b/tests/expectations/tests/constify-module-enums-shadow-name.rs
@@ -42,6 +42,10 @@ fn bindgen_test_layout_bar() {
}
impl Default for bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/constify-module-enums-simple-alias.rs b/tests/expectations/tests/constify-module-enums-simple-alias.rs
index 64e77c68..317697dd 100644
--- a/tests/expectations/tests/constify-module-enums-simple-alias.rs
+++ b/tests/expectations/tests/constify-module-enums-simple-alias.rs
@@ -109,6 +109,10 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs b/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
index 3a95b3c9..b6644797 100644
--- a/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
+++ b/tests/expectations/tests/constify-module-enums-simple-nonamespace.rs
@@ -41,6 +41,10 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/constify-module-enums-types.rs b/tests/expectations/tests/constify-module-enums-types.rs
index 4ba85b37..ec7e6c0e 100644
--- a/tests/expectations/tests/constify-module-enums-types.rs
+++ b/tests/expectations/tests/constify-module-enums-types.rs
@@ -168,7 +168,11 @@ fn bindgen_test_layout_bar() {
}
impl Default for bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -201,7 +205,11 @@ fn bindgen_test_layout_Baz() {
}
impl Default for Baz {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub mod one_Foo {
@@ -234,7 +242,11 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
@@ -261,7 +273,11 @@ pub struct Thing<T> {
}
impl<T> Default for Thing<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/convert-cpp-comment-to-rust.rs b/tests/expectations/tests/convert-cpp-comment-to-rust.rs
index 451cfa31..86279caf 100644
--- a/tests/expectations/tests/convert-cpp-comment-to-rust.rs
+++ b/tests/expectations/tests/convert-cpp-comment-to-rust.rs
@@ -68,6 +68,10 @@ fn bindgen_test_layout_mbedtls_mpi() {
}
impl Default for mbedtls_mpi {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/convert-floats.rs b/tests/expectations/tests/convert-floats.rs
index a183f433..66231592 100644
--- a/tests/expectations/tests/convert-floats.rs
+++ b/tests/expectations/tests/convert-floats.rs
@@ -85,6 +85,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/ctypes-prefix-path.rs b/tests/expectations/tests/ctypes-prefix-path.rs
index af608785..12cedac9 100644
--- a/tests/expectations/tests/ctypes-prefix-path.rs
+++ b/tests/expectations/tests/ctypes-prefix-path.rs
@@ -49,6 +49,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::core::mem::zeroed() }
+ let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/default-template-parameter.rs b/tests/expectations/tests/default-template-parameter.rs
index f42e23bf..2cbe463c 100644
--- a/tests/expectations/tests/default-template-parameter.rs
+++ b/tests/expectations/tests/default-template-parameter.rs
@@ -15,7 +15,11 @@ pub struct Foo<T, U> {
}
impl<T, U> Default for Foo<T, U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/derive-bitfield-method-same-name.rs b/tests/expectations/tests/derive-bitfield-method-same-name.rs
index d1c1aefa..1dc1d6e3 100644
--- a/tests/expectations/tests/derive-bitfield-method-same-name.rs
+++ b/tests/expectations/tests/derive-bitfield-method-same-name.rs
@@ -139,7 +139,11 @@ extern "C" {
}
impl Default for Foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for Foo {
diff --git a/tests/expectations/tests/derive-clone.rs b/tests/expectations/tests/derive-clone.rs
index e2dc7bdb..e589a29e 100644
--- a/tests/expectations/tests/derive-clone.rs
+++ b/tests/expectations/tests/derive-clone.rs
@@ -39,6 +39,10 @@ fn bindgen_test_layout_ShouldDeriveClone() {
}
impl Default for ShouldDeriveClone {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-clone_1_0.rs b/tests/expectations/tests/derive-clone_1_0.rs
index e5dc92dc..a437d5c3 100644
--- a/tests/expectations/tests/derive-clone_1_0.rs
+++ b/tests/expectations/tests/derive-clone_1_0.rs
@@ -45,6 +45,10 @@ impl Clone for ShouldImplClone {
}
impl Default for ShouldImplClone {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
diff --git a/tests/expectations/tests/derive-debug-bitfield-core.rs b/tests/expectations/tests/derive-debug-bitfield-core.rs
index 76fa20ba..33f0f2ff 100644
--- a/tests/expectations/tests/derive-debug-bitfield-core.rs
+++ b/tests/expectations/tests/derive-debug-bitfield-core.rs
@@ -127,7 +127,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::core::mem::zeroed() }
+ let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::core::fmt::Debug for C {
diff --git a/tests/expectations/tests/derive-debug-bitfield.rs b/tests/expectations/tests/derive-debug-bitfield.rs
index d07642a8..00976b59 100644
--- a/tests/expectations/tests/derive-debug-bitfield.rs
+++ b/tests/expectations/tests/derive-debug-bitfield.rs
@@ -125,7 +125,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for C {
diff --git a/tests/expectations/tests/derive-debug-function-pointer.rs b/tests/expectations/tests/derive-debug-function-pointer.rs
index 7052ff00..c031897b 100644
--- a/tests/expectations/tests/derive-debug-function-pointer.rs
+++ b/tests/expectations/tests/derive-debug-function-pointer.rs
@@ -52,7 +52,11 @@ fn bindgen_test_layout_Nice() {
}
impl Default for Nice {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for Nice {
diff --git a/tests/expectations/tests/derive-debug-generic.rs b/tests/expectations/tests/derive-debug-generic.rs
index 88fd9728..49d4e9b8 100644
--- a/tests/expectations/tests/derive-debug-generic.rs
+++ b/tests/expectations/tests/derive-debug-generic.rs
@@ -12,7 +12,11 @@ pub struct Generic<T> {
}
impl<T> Default for Generic<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<T> ::std::fmt::Debug for Generic<T> {
diff --git a/tests/expectations/tests/derive-debug-mangle-name.rs b/tests/expectations/tests/derive-debug-mangle-name.rs
index d7f5c892..ed541648 100644
--- a/tests/expectations/tests/derive-debug-mangle-name.rs
+++ b/tests/expectations/tests/derive-debug-mangle-name.rs
@@ -59,7 +59,11 @@ fn bindgen_test_layout_perf_event_attr__bindgen_ty_1() {
}
impl Default for perf_event_attr__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for perf_event_attr__bindgen_ty_1 {
@@ -107,7 +111,11 @@ fn bindgen_test_layout_perf_event_attr() {
}
impl Default for perf_event_attr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for perf_event_attr {
diff --git a/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs b/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs
index 4e87368b..ceb70ffe 100644
--- a/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs
+++ b/tests/expectations/tests/derive-debug-opaque-template-instantiation.rs
@@ -36,7 +36,11 @@ fn bindgen_test_layout_Instance() {
}
impl Default for Instance {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for Instance {
diff --git a/tests/expectations/tests/derive-debug-opaque.rs b/tests/expectations/tests/derive-debug-opaque.rs
index dfb264c7..411c7a70 100644
--- a/tests/expectations/tests/derive-debug-opaque.rs
+++ b/tests/expectations/tests/derive-debug-opaque.rs
@@ -25,7 +25,11 @@ fn bindgen_test_layout_Opaque() {
}
impl Default for Opaque {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for Opaque {
@@ -64,7 +68,11 @@ fn bindgen_test_layout_OpaqueUser() {
}
impl Default for OpaqueUser {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::fmt::Debug for OpaqueUser {
diff --git a/tests/expectations/tests/derive-default-and-blocklist.rs b/tests/expectations/tests/derive-default-and-blocklist.rs
index fca9c7f3..5d53ede2 100644
--- a/tests/expectations/tests/derive-default-and-blocklist.rs
+++ b/tests/expectations/tests/derive-default-and-blocklist.rs
@@ -41,6 +41,10 @@ fn bindgen_test_layout_ShouldNotDeriveDefault() {
}
impl Default for ShouldNotDeriveDefault {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-hash-and-blocklist.rs b/tests/expectations/tests/derive-hash-and-blocklist.rs
index ba606a25..8e1190ea 100644
--- a/tests/expectations/tests/derive-hash-and-blocklist.rs
+++ b/tests/expectations/tests/derive-hash-and-blocklist.rs
@@ -40,6 +40,10 @@ fn bindgen_test_layout_ShouldNotDeriveHash() {
}
impl Default for ShouldNotDeriveHash {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-hash-blocklisting.rs b/tests/expectations/tests/derive-hash-blocklisting.rs
index f9dbc824..7cd29c21 100644
--- a/tests/expectations/tests/derive-hash-blocklisting.rs
+++ b/tests/expectations/tests/derive-hash-blocklisting.rs
@@ -45,7 +45,11 @@ fn bindgen_test_layout_AllowlistedOne() {
}
impl Default for AllowlistedOne {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// This can't derive(Hash/Eq) even if it didn't contain a blocklisted type.
@@ -80,6 +84,10 @@ fn bindgen_test_layout_AllowlistedTwo() {
}
impl Default for AllowlistedTwo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-hash-struct-with-pointer.rs b/tests/expectations/tests/derive-hash-struct-with-pointer.rs
index 152bffc2..e98bbf0f 100644
--- a/tests/expectations/tests/derive-hash-struct-with-pointer.rs
+++ b/tests/expectations/tests/derive-hash-struct-with-pointer.rs
@@ -38,7 +38,11 @@ fn bindgen_test_layout_ConstPtrMutObj() {
}
impl Default for ConstPtrMutObj {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -73,7 +77,11 @@ fn bindgen_test_layout_MutPtrMutObj() {
}
impl Default for MutPtrMutObj {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -108,7 +116,11 @@ fn bindgen_test_layout_MutPtrConstObj() {
}
impl Default for MutPtrConstObj {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -144,6 +156,10 @@ fn bindgen_test_layout_ConstPtrConstObj() {
}
impl Default for ConstPtrConstObj {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-hash-template-def-float.rs b/tests/expectations/tests/derive-hash-template-def-float.rs
index 554eb8bf..5e07a611 100644
--- a/tests/expectations/tests/derive-hash-template-def-float.rs
+++ b/tests/expectations/tests/derive-hash-template-def-float.rs
@@ -15,6 +15,10 @@ pub struct foo<T> {
}
impl<T> Default for foo<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-hash-template-inst-float.rs b/tests/expectations/tests/derive-hash-template-inst-float.rs
index c0a72725..f8618152 100644
--- a/tests/expectations/tests/derive-hash-template-inst-float.rs
+++ b/tests/expectations/tests/derive-hash-template-inst-float.rs
@@ -14,7 +14,11 @@ pub struct foo<T> {
}
impl<T> Default for foo<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// Can derive Hash/PartialOrd/Ord/PartialEq/Eq when instantiated with int
@@ -43,7 +47,11 @@ fn bindgen_test_layout_IntStr() {
}
impl Default for IntStr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// Cannot derive Hash/Eq/Ord when instantiated with float but can derive PartialEq/PartialOrd
@@ -77,7 +85,11 @@ fn bindgen_test_layout_FloatStr() {
}
impl Default for FloatStr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/derive-partialeq-and-blocklist.rs b/tests/expectations/tests/derive-partialeq-and-blocklist.rs
index b211933d..d9dfb446 100644
--- a/tests/expectations/tests/derive-partialeq-and-blocklist.rs
+++ b/tests/expectations/tests/derive-partialeq-and-blocklist.rs
@@ -41,6 +41,10 @@ fn bindgen_test_layout_ShouldNotDerivePartialEq() {
}
impl Default for ShouldNotDerivePartialEq {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-partialeq-anonfield.rs b/tests/expectations/tests/derive-partialeq-anonfield.rs
index 8834ca32..16d4381f 100644
--- a/tests/expectations/tests/derive-partialeq-anonfield.rs
+++ b/tests/expectations/tests/derive-partialeq-anonfield.rs
@@ -32,7 +32,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() {
}
impl Default for rte_mbuf__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -50,6 +54,10 @@ fn bindgen_test_layout_rte_mbuf() {
}
impl Default for rte_mbuf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-partialeq-base.rs b/tests/expectations/tests/derive-partialeq-base.rs
index 9946616b..cdf8dff8 100644
--- a/tests/expectations/tests/derive-partialeq-base.rs
+++ b/tests/expectations/tests/derive-partialeq-base.rs
@@ -35,7 +35,11 @@ fn bindgen_test_layout_Base() {
}
impl Default for Base {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for Base {
@@ -63,7 +67,11 @@ fn bindgen_test_layout_ShouldDerivePartialEq() {
}
impl Default for ShouldDerivePartialEq {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for ShouldDerivePartialEq {
diff --git a/tests/expectations/tests/derive-partialeq-bitfield.rs b/tests/expectations/tests/derive-partialeq-bitfield.rs
index c7f1231e..cffffca5 100644
--- a/tests/expectations/tests/derive-partialeq-bitfield.rs
+++ b/tests/expectations/tests/derive-partialeq-bitfield.rs
@@ -125,7 +125,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for C {
diff --git a/tests/expectations/tests/derive-partialeq-core.rs b/tests/expectations/tests/derive-partialeq-core.rs
index cbe1f577..8cdfb92c 100644
--- a/tests/expectations/tests/derive-partialeq-core.rs
+++ b/tests/expectations/tests/derive-partialeq-core.rs
@@ -39,7 +39,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::core::mem::zeroed() }
+ let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::core::cmp::PartialEq for C {
diff --git a/tests/expectations/tests/derive-partialeq-pointer.rs b/tests/expectations/tests/derive-partialeq-pointer.rs
index 1964e373..17a5edcb 100644
--- a/tests/expectations/tests/derive-partialeq-pointer.rs
+++ b/tests/expectations/tests/derive-partialeq-pointer.rs
@@ -30,7 +30,11 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -58,7 +62,11 @@ fn bindgen_test_layout_c__bindgen_ty_1() {
}
impl Default for c__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -76,7 +84,11 @@ fn bindgen_test_layout_c() {
}
impl Default for c {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -104,6 +116,10 @@ fn bindgen_test_layout_a() {
}
impl Default for a {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-partialeq-union.rs b/tests/expectations/tests/derive-partialeq-union.rs
index b2ccb2e8..b97c0531 100644
--- a/tests/expectations/tests/derive-partialeq-union.rs
+++ b/tests/expectations/tests/derive-partialeq-union.rs
@@ -53,6 +53,10 @@ fn bindgen_test_layout_ShouldNotDerivePartialEq() {
}
impl Default for ShouldNotDerivePartialEq {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/derive-partialeq-union_1_0.rs b/tests/expectations/tests/derive-partialeq-union_1_0.rs
index 4b675fc7..2098849f 100644
--- a/tests/expectations/tests/derive-partialeq-union_1_0.rs
+++ b/tests/expectations/tests/derive-partialeq-union_1_0.rs
@@ -102,7 +102,11 @@ impl Clone for ShouldDerivePartialEq {
}
impl Default for ShouldDerivePartialEq {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
impl ::std::cmp::PartialEq for ShouldDerivePartialEq {
diff --git a/tests/expectations/tests/doggo-or-null.rs b/tests/expectations/tests/doggo-or-null.rs
index 1d3bf5c1..fa7a5e89 100644
--- a/tests/expectations/tests/doggo-or-null.rs
+++ b/tests/expectations/tests/doggo-or-null.rs
@@ -73,6 +73,10 @@ fn bindgen_test_layout_DoggoOrNull() {
}
impl Default for DoggoOrNull {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/duplicated-namespaces-definitions.rs b/tests/expectations/tests/duplicated-namespaces-definitions.rs
index b79ccaea..324fe2a0 100644
--- a/tests/expectations/tests/duplicated-namespaces-definitions.rs
+++ b/tests/expectations/tests/duplicated-namespaces-definitions.rs
@@ -91,7 +91,11 @@ pub mod root {
}
impl Default for Foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
}
diff --git a/tests/expectations/tests/empty-union.rs b/tests/expectations/tests/empty-union.rs
index 1f7d33d3..c21ae2f0 100644
--- a/tests/expectations/tests/empty-union.rs
+++ b/tests/expectations/tests/empty-union.rs
@@ -12,6 +12,10 @@ pub union a__bindgen_ty_1 {
}
impl Default for a__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/enum-default-bitfield.rs b/tests/expectations/tests/enum-default-bitfield.rs
index 3e8272ad..1520bea7 100644
--- a/tests/expectations/tests/enum-default-bitfield.rs
+++ b/tests/expectations/tests/enum-default-bitfield.rs
@@ -66,7 +66,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Foo {
diff --git a/tests/expectations/tests/enum-default-consts.rs b/tests/expectations/tests/enum-default-consts.rs
index e913bcbf..1a9513d9 100644
--- a/tests/expectations/tests/enum-default-consts.rs
+++ b/tests/expectations/tests/enum-default-consts.rs
@@ -38,7 +38,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub const Foo_Bar: Foo = 0;
diff --git a/tests/expectations/tests/enum-default-module.rs b/tests/expectations/tests/enum-default-module.rs
index b8355e3d..73a0462e 100644
--- a/tests/expectations/tests/enum-default-module.rs
+++ b/tests/expectations/tests/enum-default-module.rs
@@ -40,7 +40,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub mod Foo {
diff --git a/tests/expectations/tests/enum-default-rust.rs b/tests/expectations/tests/enum-default-rust.rs
index 8c697dcc..c47521a2 100644
--- a/tests/expectations/tests/enum-default-rust.rs
+++ b/tests/expectations/tests/enum-default-rust.rs
@@ -43,7 +43,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(u32)]
diff --git a/tests/expectations/tests/enum.rs b/tests/expectations/tests/enum.rs
index e4a72276..67d263e9 100644
--- a/tests/expectations/tests/enum.rs
+++ b/tests/expectations/tests/enum.rs
@@ -38,7 +38,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub const Foo_Bar: Foo = 0;
diff --git a/tests/expectations/tests/enum_and_vtable_mangling.rs b/tests/expectations/tests/enum_and_vtable_mangling.rs
index 5eaaec95..9e9c6bcb 100644
--- a/tests/expectations/tests/enum_and_vtable_mangling.rs
+++ b/tests/expectations/tests/enum_and_vtable_mangling.rs
@@ -41,7 +41,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/extern-const-struct.rs b/tests/expectations/tests/extern-const-struct.rs
index 0f515ed5..fa0018ba 100644
--- a/tests/expectations/tests/extern-const-struct.rs
+++ b/tests/expectations/tests/extern-const-struct.rs
@@ -37,7 +37,11 @@ fn bindgen_test_layout_nsFoo() {
}
impl Default for nsFoo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/forward-declaration-autoptr.rs b/tests/expectations/tests/forward-declaration-autoptr.rs
index 33a92bb4..bf0b6926 100644
--- a/tests/expectations/tests/forward-declaration-autoptr.rs
+++ b/tests/expectations/tests/forward-declaration-autoptr.rs
@@ -18,7 +18,11 @@ pub struct RefPtr<T> {
}
impl<T> Default for RefPtr<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -53,7 +57,11 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/forward-inherit-struct-with-fields.rs b/tests/expectations/tests/forward-inherit-struct-with-fields.rs
index cae75bf4..330d766b 100644
--- a/tests/expectations/tests/forward-inherit-struct-with-fields.rs
+++ b/tests/expectations/tests/forward-inherit-struct-with-fields.rs
@@ -14,7 +14,11 @@ pub struct js_RootedBase<T> {
}
impl<T> Default for js_RootedBase<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -25,6 +29,10 @@ pub struct Rooted<T> {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/forward-inherit-struct.rs b/tests/expectations/tests/forward-inherit-struct.rs
index ae565be5..2c4546eb 100644
--- a/tests/expectations/tests/forward-inherit-struct.rs
+++ b/tests/expectations/tests/forward-inherit-struct.rs
@@ -17,6 +17,10 @@ pub struct Rooted {
}
impl Default for Rooted {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/forward_declared_complex_types.rs b/tests/expectations/tests/forward_declared_complex_types.rs
index c35d914c..e185e830 100644
--- a/tests/expectations/tests/forward_declared_complex_types.rs
+++ b/tests/expectations/tests/forward_declared_complex_types.rs
@@ -53,7 +53,11 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/forward_declared_complex_types_1_0.rs b/tests/expectations/tests/forward_declared_complex_types_1_0.rs
index 9fea597c..c6331c69 100644
--- a/tests/expectations/tests/forward_declared_complex_types_1_0.rs
+++ b/tests/expectations/tests/forward_declared_complex_types_1_0.rs
@@ -68,7 +68,11 @@ impl Clone for Bar {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/incomplete-array-padding.rs b/tests/expectations/tests/incomplete-array-padding.rs
index a0fa750c..18061ea1 100644
--- a/tests/expectations/tests/incomplete-array-padding.rs
+++ b/tests/expectations/tests/incomplete-array-padding.rs
@@ -143,7 +143,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl foo {
diff --git a/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs b/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs
index c488713f..f292125d 100644
--- a/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs
+++ b/tests/expectations/tests/inherit-from-template-instantiation-with-vtable.rs
@@ -17,7 +17,11 @@ pub struct BaseWithVtable<T> {
}
impl<T> Default for BaseWithVtable<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// This should not have an explicit vtable.
@@ -41,7 +45,11 @@ fn bindgen_test_layout_DerivedWithNoVirtualMethods() {
}
impl Default for DerivedWithNoVirtualMethods {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// This should not have an explicit vtable.
@@ -65,7 +73,11 @@ fn bindgen_test_layout_DerivedWithVirtualMethods() {
}
impl Default for DerivedWithVirtualMethods {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// This should not have any vtable.
@@ -77,7 +89,11 @@ pub struct BaseWithoutVtable<U> {
}
impl<U> Default for BaseWithoutVtable<U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -104,7 +120,11 @@ fn bindgen_test_layout_DerivedWithVtable() {
}
impl Default for DerivedWithVtable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// This should not have any vtable.
@@ -128,7 +148,11 @@ fn bindgen_test_layout_DerivedWithoutVtable() {
}
impl Default for DerivedWithoutVtable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/inherit-namespaced.rs b/tests/expectations/tests/inherit-namespaced.rs
index ae565be5..2c4546eb 100644
--- a/tests/expectations/tests/inherit-namespaced.rs
+++ b/tests/expectations/tests/inherit-namespaced.rs
@@ -17,6 +17,10 @@ pub struct Rooted {
}
impl Default for Rooted {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/inherit_named.rs b/tests/expectations/tests/inherit_named.rs
index 77de3ec3..a8eee207 100644
--- a/tests/expectations/tests/inherit_named.rs
+++ b/tests/expectations/tests/inherit_named.rs
@@ -18,6 +18,10 @@ pub struct Weeee<T> {
}
impl<T> Default for Weeee<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/inline_namespace_no_ns_enabled.rs b/tests/expectations/tests/inline_namespace_no_ns_enabled.rs
index 20bac9a1..7a0c9935 100644
--- a/tests/expectations/tests/inline_namespace_no_ns_enabled.rs
+++ b/tests/expectations/tests/inline_namespace_no_ns_enabled.rs
@@ -20,7 +20,11 @@ pub struct std_basic_string_Alloc_hider {
}
impl Default for std_basic_string_Alloc_hider {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -31,11 +35,19 @@ pub struct std_basic_string__bindgen_ty_1<CharT> {
}
impl<CharT> Default for std_basic_string__bindgen_ty_1<CharT> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<CharT> Default for std_basic_string<CharT> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/inner_template_self.rs b/tests/expectations/tests/inner_template_self.rs
index f3e153f4..3361a1f9 100644
--- a/tests/expectations/tests/inner_template_self.rs
+++ b/tests/expectations/tests/inner_template_self.rs
@@ -13,7 +13,11 @@ pub struct LinkedList {
}
impl Default for LinkedList {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -49,7 +53,11 @@ fn bindgen_test_layout_InstantiateIt() {
}
impl Default for InstantiateIt {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/issue-1113-template-references.rs b/tests/expectations/tests/issue-1113-template-references.rs
index 79a06dac..c1465835 100644
--- a/tests/expectations/tests/issue-1113-template-references.rs
+++ b/tests/expectations/tests/issue-1113-template-references.rs
@@ -15,7 +15,11 @@ pub struct Entry<K, V> {
}
impl<K, V> Default for Entry<K, V> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -34,6 +38,10 @@ pub struct nsBaseHashtable_EntryPtr<K, V> {
}
impl<K, V> Default for nsBaseHashtable_EntryPtr<K, V> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-1118-using-forward-decl.rs b/tests/expectations/tests/issue-1118-using-forward-decl.rs
index df764a58..99f0341c 100644
--- a/tests/expectations/tests/issue-1118-using-forward-decl.rs
+++ b/tests/expectations/tests/issue-1118-using-forward-decl.rs
@@ -38,7 +38,11 @@ fn bindgen_test_layout_nsTArray_base() {
}
impl Default for nsTArray_base {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -48,7 +52,11 @@ pub struct nsTArray {
}
impl Default for nsTArray {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -83,7 +91,11 @@ fn bindgen_test_layout_nsIContent() {
}
impl Default for nsIContent {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs b/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs
index 9232767e..fd023363 100644
--- a/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs
+++ b/tests/expectations/tests/issue-1197-pure-virtual-stuff.rs
@@ -27,6 +27,10 @@ fn bindgen_test_layout_Foo() {
}
impl Default for Foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-1285.rs b/tests/expectations/tests/issue-1285.rs
index 4ca84527..15b8c9e4 100644
--- a/tests/expectations/tests/issue-1285.rs
+++ b/tests/expectations/tests/issue-1285.rs
@@ -55,7 +55,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -78,6 +82,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-1443.rs b/tests/expectations/tests/issue-1443.rs
index b02a2c4d..f422f4c3 100644
--- a/tests/expectations/tests/issue-1443.rs
+++ b/tests/expectations/tests/issue-1443.rs
@@ -41,7 +41,11 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -75,7 +79,11 @@ fn bindgen_test_layout_Baz() {
}
impl Default for Baz {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -109,7 +117,11 @@ fn bindgen_test_layout_Tar() {
}
impl Default for Tar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -143,6 +155,10 @@ fn bindgen_test_layout_Taz() {
}
impl Default for Taz {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-1498.rs b/tests/expectations/tests/issue-1498.rs
index b14f06c8..4f8a8930 100644
--- a/tests/expectations/tests/issue-1498.rs
+++ b/tests/expectations/tests/issue-1498.rs
@@ -72,7 +72,11 @@ fn bindgen_test_layout_rte_memseg__bindgen_ty_1() {
}
impl Default for rte_memseg__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -165,6 +169,10 @@ fn bindgen_test_layout_rte_memseg() {
}
impl Default for rte_memseg {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-1514.rs b/tests/expectations/tests/issue-1514.rs
index b2c11ea9..31939ca5 100644
--- a/tests/expectations/tests/issue-1514.rs
+++ b/tests/expectations/tests/issue-1514.rs
@@ -18,7 +18,11 @@ pub struct Thing_Inner<T> {
}
impl<T> Default for Thing_Inner<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -29,6 +33,10 @@ pub struct Thing_AnotherInner<T> {
}
impl<T> Default for Thing_AnotherInner<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-358.rs b/tests/expectations/tests/issue-358.rs
index 320c7e1d..e9ee0f50 100644
--- a/tests/expectations/tests/issue-358.rs
+++ b/tests/expectations/tests/issue-358.rs
@@ -12,7 +12,11 @@ pub struct JS_PersistentRooted {
}
impl Default for JS_PersistentRooted {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -22,6 +26,10 @@ pub struct a {
}
impl Default for a {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-372.rs b/tests/expectations/tests/issue-372.rs
index ce6e36c5..0cd9f7ad 100644
--- a/tests/expectations/tests/issue-372.rs
+++ b/tests/expectations/tests/issue-372.rs
@@ -46,7 +46,11 @@ pub mod root {
}
impl Default for i {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -74,7 +78,11 @@ pub mod root {
}
impl Default for d {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(u32)]
@@ -117,7 +125,11 @@ pub mod root {
}
impl Default for F {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
}
diff --git a/tests/expectations/tests/issue-446.rs b/tests/expectations/tests/issue-446.rs
index 6c9cae46..db69f159 100644
--- a/tests/expectations/tests/issue-446.rs
+++ b/tests/expectations/tests/issue-446.rs
@@ -12,7 +12,11 @@ pub struct List {
}
impl Default for List {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -22,6 +26,10 @@ pub struct PersistentRooted {
}
impl Default for PersistentRooted {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-493.rs b/tests/expectations/tests/issue-493.rs
index d17fbecc..61c7f792 100644
--- a/tests/expectations/tests/issue-493.rs
+++ b/tests/expectations/tests/issue-493.rs
@@ -65,7 +65,11 @@ pub struct basic_string___long {
}
impl Default for basic_string___long {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub const basic_string___min_cap: basic_string__bindgen_ty_1 =
@@ -87,12 +91,20 @@ pub union basic_string___short__bindgen_ty_1 {
}
impl Default for basic_string___short__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Default for basic_string___short {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -104,7 +116,11 @@ pub struct basic_string___ulx {
}
impl Default for basic_string___ulx {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub const basic_string___n_words: basic_string__bindgen_ty_2 =
@@ -121,7 +137,11 @@ pub struct basic_string___raw {
}
impl Default for basic_string___raw {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -138,11 +158,19 @@ pub struct basic_string___rep__bindgen_ty_1 {
}
impl Default for basic_string___rep__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Default for basic_string___rep {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-493_1_0.rs b/tests/expectations/tests/issue-493_1_0.rs
index c42d06b5..1a0131c3 100644
--- a/tests/expectations/tests/issue-493_1_0.rs
+++ b/tests/expectations/tests/issue-493_1_0.rs
@@ -65,7 +65,11 @@ pub struct basic_string___long {
}
impl Default for basic_string___long {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
pub const basic_string___min_cap: basic_string__bindgen_ty_1 =
@@ -90,7 +94,11 @@ pub struct basic_string___short__bindgen_ty_1 {
}
impl Default for basic_string___short {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -114,7 +122,11 @@ pub struct basic_string___raw {
}
impl Default for basic_string___raw {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/issue-544-stylo-creduce-2.rs b/tests/expectations/tests/issue-544-stylo-creduce-2.rs
index 5a6242ea..6165419d 100644
--- a/tests/expectations/tests/issue-544-stylo-creduce-2.rs
+++ b/tests/expectations/tests/issue-544-stylo-creduce-2.rs
@@ -13,6 +13,10 @@ pub type Foo_FirstAlias = [u8; 0usize];
pub type Foo_SecondAlias = [u8; 0usize];
impl Default for Foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs b/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs
index 4b2fa7a2..997a7311 100644
--- a/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs
+++ b/tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs
@@ -21,7 +21,11 @@ pub struct JS_Base {
}
impl Default for JS_Base {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -44,7 +48,11 @@ fn bindgen_test_layout_JS_AutoIdVector() {
}
impl Default for JS_AutoIdVector {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs b/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs
index 61489990..01abdcc4 100644
--- a/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs
+++ b/tests/expectations/tests/issue-584-stylo-template-analysis-panic.rs
@@ -33,7 +33,11 @@ pub struct e<c> {
}
impl<c> Default for e<c> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -65,7 +69,11 @@ fn bindgen_test_layout_g() {
}
impl Default for g {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -87,7 +95,11 @@ fn bindgen_test_layout_b() {
}
impl Default for b {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs b/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs
index 8c3ad474..ba886f36 100644
--- a/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs
+++ b/tests/expectations/tests/issue-638-stylo-cannot-find-T-in-this-scope.rs
@@ -13,7 +13,11 @@ pub struct RefPtr<T> {
}
impl<T> Default for RefPtr<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -25,6 +29,10 @@ pub struct UsesRefPtrWithAliasedTypeParam<U> {
pub type UsesRefPtrWithAliasedTypeParam_V<U> = U;
impl<U> Default for UsesRefPtrWithAliasedTypeParam<U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-643-inner-struct.rs b/tests/expectations/tests/issue-643-inner-struct.rs
index 35a5e52c..07285007 100644
--- a/tests/expectations/tests/issue-643-inner-struct.rs
+++ b/tests/expectations/tests/issue-643-inner-struct.rs
@@ -120,7 +120,11 @@ fn bindgen_test_layout_rte_ring() {
}
impl Default for rte_ring {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs b/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs
index 176fae64..75d6581e 100644
--- a/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs
+++ b/tests/expectations/tests/issue-645-cannot-find-type-T-in-this-scope.rs
@@ -16,6 +16,10 @@ pub struct HasRefPtr<T> {
pub type HasRefPtr_TypedefOfT<T> = T;
impl<T> Default for HasRefPtr<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-648-derive-debug-with-padding.rs b/tests/expectations/tests/issue-648-derive-debug-with-padding.rs
index e6d529f0..15822b5b 100644
--- a/tests/expectations/tests/issue-648-derive-debug-with-padding.rs
+++ b/tests/expectations/tests/issue-648-derive-debug-with-padding.rs
@@ -40,7 +40,11 @@ fn bindgen_test_layout_NoDebug() {
}
impl Default for NoDebug {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for NoDebug {
@@ -100,7 +104,11 @@ fn bindgen_test_layout_ShouldDeriveDebugButDoesNot() {
}
impl Default for ShouldDeriveDebugButDoesNot {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for ShouldDeriveDebugButDoesNot {
diff --git a/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs b/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs
index d12c8715..5636a977 100644
--- a/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs
+++ b/tests/expectations/tests/issue-662-cannot-find-T-in-this-scope.rs
@@ -13,7 +13,11 @@ pub struct RefPtr<T> {
}
impl<T> Default for RefPtr<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -24,7 +28,11 @@ pub struct nsMainThreadPtrHolder<T> {
}
impl<T> Default for nsMainThreadPtrHolder<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -35,6 +43,10 @@ pub struct nsMainThreadPtrHandle<T> {
}
impl<T> Default for nsMainThreadPtrHandle<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-662-part-2.rs b/tests/expectations/tests/issue-662-part-2.rs
index d08e6fb8..e8d14bfe 100644
--- a/tests/expectations/tests/issue-662-part-2.rs
+++ b/tests/expectations/tests/issue-662-part-2.rs
@@ -16,7 +16,11 @@ pub struct nsMainThreadPtrHolder<T> {
}
impl<T> Default for nsMainThreadPtrHolder<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -26,6 +30,10 @@ pub struct nsMainThreadPtrHandle<U> {
}
impl<U> Default for nsMainThreadPtrHandle<U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/issue-691-template-parameter-virtual.rs b/tests/expectations/tests/issue-691-template-parameter-virtual.rs
index 3d207282..4747b955 100644
--- a/tests/expectations/tests/issue-691-template-parameter-virtual.rs
+++ b/tests/expectations/tests/issue-691-template-parameter-virtual.rs
@@ -27,7 +27,11 @@ fn bindgen_test_layout_VirtualMethods() {
}
impl Default for VirtualMethods {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -55,7 +59,11 @@ fn bindgen_test_layout_ServoElementSnapshotTable() {
}
impl Default for ServoElementSnapshotTable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/issue-848-replacement-system-include.rs b/tests/expectations/tests/issue-848-replacement-system-include.rs
index af91e1ec..294df575 100644
--- a/tests/expectations/tests/issue-848-replacement-system-include.rs
+++ b/tests/expectations/tests/issue-848-replacement-system-include.rs
@@ -19,7 +19,11 @@ pub struct nsTArray<T> {
}
impl<T> Default for nsTArray<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs b/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs
index 51e97964..dc50fe1b 100644
--- a/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs
+++ b/tests/expectations/tests/issue-944-derive-copy-and-blocklisting.rs
@@ -39,6 +39,10 @@ fn bindgen_test_layout_ShouldNotBeCopy() {
}
impl Default for ShouldNotBeCopy {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/jsval_layout_opaque.rs b/tests/expectations/tests/jsval_layout_opaque.rs
index 8a3d7f39..5b842791 100644
--- a/tests/expectations/tests/jsval_layout_opaque.rs
+++ b/tests/expectations/tests/jsval_layout_opaque.rs
@@ -211,7 +211,11 @@ fn bindgen_test_layout_jsval_layout__bindgen_ty_1() {
}
impl Default for jsval_layout__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl jsval_layout__bindgen_ty_1 {
@@ -331,7 +335,11 @@ fn bindgen_test_layout_jsval_layout__bindgen_ty_2__bindgen_ty_1() {
}
impl Default for jsval_layout__bindgen_ty_2__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -362,7 +370,11 @@ fn bindgen_test_layout_jsval_layout__bindgen_ty_2() {
}
impl Default for jsval_layout__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -467,7 +479,11 @@ fn bindgen_test_layout_jsval_layout() {
}
impl Default for jsval_layout {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -500,6 +516,10 @@ fn bindgen_test_layout_Value() {
}
impl Default for Value {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/jsval_layout_opaque_1_0.rs b/tests/expectations/tests/jsval_layout_opaque_1_0.rs
index e593a2c7..260282db 100644
--- a/tests/expectations/tests/jsval_layout_opaque_1_0.rs
+++ b/tests/expectations/tests/jsval_layout_opaque_1_0.rs
@@ -260,7 +260,11 @@ impl Clone for jsval_layout__bindgen_ty_1 {
}
impl Default for jsval_layout__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
impl jsval_layout__bindgen_ty_1 {
diff --git a/tests/expectations/tests/layout.rs b/tests/expectations/tests/layout.rs
index cf42d302..ae417259 100644
--- a/tests/expectations/tests/layout.rs
+++ b/tests/expectations/tests/layout.rs
@@ -19,6 +19,10 @@ fn bindgen_test_layout_header() {
}
impl Default for header {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
diff --git a/tests/expectations/tests/layout_align.rs b/tests/expectations/tests/layout_align.rs
index 44998a89..cb34df3e 100644
--- a/tests/expectations/tests/layout_align.rs
+++ b/tests/expectations/tests/layout_align.rs
@@ -150,7 +150,11 @@ fn bindgen_test_layout_rte_kni_fifo() {
}
impl Default for rte_kni_fifo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/layout_array.rs b/tests/expectations/tests/layout_array.rs
index 3ca20b01..3ba1b6d0 100644
--- a/tests/expectations/tests/layout_array.rs
+++ b/tests/expectations/tests/layout_array.rs
@@ -160,7 +160,11 @@ fn bindgen_test_layout_rte_mempool_ops() {
}
impl Default for rte_mempool_ops {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for rte_mempool_ops {
@@ -279,7 +283,11 @@ fn bindgen_test_layout_rte_mempool_ops_table() {
}
impl Default for rte_mempool_ops_table {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// Structure to hold malloc heap
@@ -325,7 +333,11 @@ fn bindgen_test_layout_malloc_heap__bindgen_ty_1() {
}
impl Default for malloc_heap__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -394,7 +406,11 @@ fn bindgen_test_layout_malloc_heap() {
}
impl Default for malloc_heap {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for malloc_heap {
diff --git a/tests/expectations/tests/layout_array_too_long.rs b/tests/expectations/tests/layout_array_too_long.rs
index 9fe993a4..c9880ea2 100644
--- a/tests/expectations/tests/layout_array_too_long.rs
+++ b/tests/expectations/tests/layout_array_too_long.rs
@@ -78,7 +78,11 @@ fn bindgen_test_layout_ip_frag() {
}
impl Default for ip_frag {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// @internal <src addr, dst_addr, id> to uniquely indetify fragmented datagram.
@@ -209,7 +213,11 @@ fn bindgen_test_layout_ip_frag_pkt__bindgen_ty_1() {
}
impl Default for ip_frag_pkt__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -314,7 +322,11 @@ fn bindgen_test_layout_ip_frag_pkt() {
}
impl Default for ip_frag_pkt {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for ip_frag_pkt {
diff --git a/tests/expectations/tests/layout_cmdline_token.rs b/tests/expectations/tests/layout_cmdline_token.rs
index 601e88b5..644b1b8a 100644
--- a/tests/expectations/tests/layout_cmdline_token.rs
+++ b/tests/expectations/tests/layout_cmdline_token.rs
@@ -54,7 +54,11 @@ fn bindgen_test_layout_cmdline_token_hdr() {
}
impl Default for cmdline_token_hdr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type cmdline_parse_token_hdr_t = cmdline_token_hdr;
@@ -221,7 +225,11 @@ fn bindgen_test_layout_cmdline_token_num_data() {
}
impl Default for cmdline_token_num_data {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -271,7 +279,11 @@ fn bindgen_test_layout_cmdline_token_num() {
}
impl Default for cmdline_token_num {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type cmdline_parse_token_num_t = cmdline_token_num;
diff --git a/tests/expectations/tests/layout_eth_conf.rs b/tests/expectations/tests/layout_eth_conf.rs
index fe8b92fe..e8806082 100644
--- a/tests/expectations/tests/layout_eth_conf.rs
+++ b/tests/expectations/tests/layout_eth_conf.rs
@@ -212,7 +212,11 @@ fn bindgen_test_layout_rte_eth_rxmode() {
}
impl Default for rte_eth_rxmode {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl rte_eth_rxmode {
@@ -459,7 +463,11 @@ fn bindgen_test_layout_rte_eth_txmode() {
}
impl Default for rte_eth_txmode {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl rte_eth_txmode {
@@ -607,7 +615,11 @@ fn bindgen_test_layout_rte_eth_rss_conf() {
}
impl Default for rte_eth_rss_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(u32)]
@@ -801,7 +813,11 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_conf() {
}
impl Default for rte_eth_vmdq_dcb_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -853,7 +869,11 @@ fn bindgen_test_layout_rte_eth_dcb_rx_conf() {
}
impl Default for rte_eth_dcb_rx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -905,7 +925,11 @@ fn bindgen_test_layout_rte_eth_vmdq_dcb_tx_conf() {
}
impl Default for rte_eth_vmdq_dcb_tx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -957,7 +981,11 @@ fn bindgen_test_layout_rte_eth_dcb_tx_conf() {
}
impl Default for rte_eth_dcb_tx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -994,7 +1022,11 @@ fn bindgen_test_layout_rte_eth_vmdq_tx_conf() {
}
impl Default for rte_eth_vmdq_tx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -1171,7 +1203,11 @@ fn bindgen_test_layout_rte_eth_vmdq_rx_conf() {
}
impl Default for rte_eth_vmdq_rx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(u32)]
@@ -1600,7 +1636,11 @@ fn bindgen_test_layout_rte_eth_flex_payload_cfg() {
}
impl Default for rte_eth_flex_payload_cfg {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// A structure used to define FDIR masks for flexible payload
@@ -1729,7 +1769,11 @@ fn bindgen_test_layout_rte_eth_fdir_flex_conf() {
}
impl Default for rte_eth_fdir_flex_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// A structure used to configure the Flow Director (FDIR) feature
@@ -1841,7 +1885,11 @@ fn bindgen_test_layout_rte_fdir_conf() {
}
impl Default for rte_fdir_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// A structure used to enable/disable specific device interrupts.
@@ -2002,7 +2050,11 @@ fn bindgen_test_layout_rte_eth_conf__bindgen_ty_1() {
}
impl Default for rte_eth_conf__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -2066,7 +2118,11 @@ fn bindgen_test_layout_rte_eth_conf__bindgen_ty_2() {
}
impl Default for rte_eth_conf__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -2199,6 +2255,10 @@ fn bindgen_test_layout_rte_eth_conf() {
}
impl Default for rte_eth_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/layout_eth_conf_1_0.rs b/tests/expectations/tests/layout_eth_conf_1_0.rs
index 26d2db02..fde1c678 100644
--- a/tests/expectations/tests/layout_eth_conf_1_0.rs
+++ b/tests/expectations/tests/layout_eth_conf_1_0.rs
@@ -260,7 +260,11 @@ impl Clone for rte_eth_rxmode {
}
impl Default for rte_eth_rxmode {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
impl rte_eth_rxmode {
@@ -512,7 +516,11 @@ impl Clone for rte_eth_txmode {
}
impl Default for rte_eth_txmode {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
impl rte_eth_txmode {
@@ -665,7 +673,11 @@ impl Clone for rte_eth_rss_conf {
}
impl Default for rte_eth_rss_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(u32)]
@@ -869,7 +881,11 @@ impl Clone for rte_eth_vmdq_dcb_conf {
}
impl Default for rte_eth_vmdq_dcb_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -926,7 +942,11 @@ impl Clone for rte_eth_dcb_rx_conf {
}
impl Default for rte_eth_dcb_rx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -983,7 +1003,11 @@ impl Clone for rte_eth_vmdq_dcb_tx_conf {
}
impl Default for rte_eth_vmdq_dcb_tx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -1040,7 +1064,11 @@ impl Clone for rte_eth_dcb_tx_conf {
}
impl Default for rte_eth_dcb_tx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -1082,7 +1110,11 @@ impl Clone for rte_eth_vmdq_tx_conf {
}
impl Default for rte_eth_vmdq_tx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -1269,7 +1301,11 @@ impl Clone for rte_eth_vmdq_rx_conf {
}
impl Default for rte_eth_vmdq_rx_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(u32)]
@@ -1718,7 +1754,11 @@ impl Clone for rte_eth_flex_payload_cfg {
}
impl Default for rte_eth_flex_payload_cfg {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
/// A structure used to define FDIR masks for flexible payload
@@ -1857,7 +1897,11 @@ impl Clone for rte_eth_fdir_flex_conf {
}
impl Default for rte_eth_fdir_flex_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
/// A structure used to configure the Flow Director (FDIR) feature
@@ -1974,7 +2018,11 @@ impl Clone for rte_fdir_conf {
}
impl Default for rte_fdir_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
/// A structure used to enable/disable specific device interrupts.
@@ -2145,7 +2193,11 @@ impl Clone for rte_eth_conf__bindgen_ty_1 {
}
impl Default for rte_eth_conf__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -2348,6 +2400,10 @@ impl Clone for rte_eth_conf {
}
impl Default for rte_eth_conf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
diff --git a/tests/expectations/tests/layout_kni_mbuf.rs b/tests/expectations/tests/layout_kni_mbuf.rs
index fce9dbac..e73344c7 100644
--- a/tests/expectations/tests/layout_kni_mbuf.rs
+++ b/tests/expectations/tests/layout_kni_mbuf.rs
@@ -222,6 +222,10 @@ fn bindgen_test_layout_rte_kni_mbuf() {
}
impl Default for rte_kni_mbuf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/layout_large_align_field.rs b/tests/expectations/tests/layout_large_align_field.rs
index 3cf31745..4208e725 100644
--- a/tests/expectations/tests/layout_large_align_field.rs
+++ b/tests/expectations/tests/layout_large_align_field.rs
@@ -108,7 +108,11 @@ fn bindgen_test_layout_ip_frag() {
}
impl Default for ip_frag {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// @internal <src addr, dst_addr, id> to uniquely indetify fragmented datagram.
@@ -239,7 +243,11 @@ fn bindgen_test_layout_ip_frag_pkt__bindgen_ty_1() {
}
impl Default for ip_frag_pkt__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -344,7 +352,11 @@ fn bindgen_test_layout_ip_frag_pkt() {
}
impl Default for ip_frag_pkt {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -394,7 +406,11 @@ fn bindgen_test_layout_ip_pkt_list() {
}
impl Default for ip_pkt_list {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// fragmentation table statistics
@@ -508,7 +524,11 @@ fn bindgen_test_layout_ip_frag_tbl_stat() {
}
impl Default for ip_frag_tbl_stat {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// fragmentation table
@@ -695,7 +715,11 @@ fn bindgen_test_layout_rte_ip_frag_tbl() {
}
impl Default for rte_ip_frag_tbl {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
///< fragment mbuf
diff --git a/tests/expectations/tests/layout_mbuf.rs b/tests/expectations/tests/layout_mbuf.rs
index bc456a18..aefce3d6 100644
--- a/tests/expectations/tests/layout_mbuf.rs
+++ b/tests/expectations/tests/layout_mbuf.rs
@@ -231,7 +231,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_1() {
}
impl Default for rte_mbuf__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -433,7 +437,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_2() {
}
impl Default for rte_mbuf__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -514,7 +522,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1() {
}
impl Default for rte_mbuf__bindgen_ty_3__bindgen_ty_1__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -551,7 +563,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3__bindgen_ty_1() {
}
impl Default for rte_mbuf__bindgen_ty_3__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -672,7 +688,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_3() {
}
impl Default for rte_mbuf__bindgen_ty_3 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -724,7 +744,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_4() {
}
impl Default for rte_mbuf__bindgen_ty_4 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -907,7 +931,11 @@ fn bindgen_test_layout_rte_mbuf__bindgen_ty_5() {
}
impl Default for rte_mbuf__bindgen_ty_5 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -1180,7 +1208,11 @@ fn bindgen_test_layout_rte_mbuf() {
}
impl Default for rte_mbuf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
///< Pool from which mbuf was allocated.
diff --git a/tests/expectations/tests/layout_mbuf_1_0.rs b/tests/expectations/tests/layout_mbuf_1_0.rs
index 70d96d95..ce4c66c2 100644
--- a/tests/expectations/tests/layout_mbuf_1_0.rs
+++ b/tests/expectations/tests/layout_mbuf_1_0.rs
@@ -1254,7 +1254,11 @@ fn bindgen_test_layout_rte_mbuf() {
}
impl Default for rte_mbuf {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
///< Pool from which mbuf was allocated.
diff --git a/tests/expectations/tests/libclang-3.9/issue-769-bad-instantiation-test.rs b/tests/expectations/tests/libclang-3.9/issue-769-bad-instantiation-test.rs
index c084de95..47e166c7 100644
--- a/tests/expectations/tests/libclang-3.9/issue-769-bad-instantiation-test.rs
+++ b/tests/expectations/tests/libclang-3.9/issue-769-bad-instantiation-test.rs
@@ -17,7 +17,11 @@ pub mod root {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/libclang-4/issue-769-bad-instantiation-test.rs b/tests/expectations/tests/libclang-4/issue-769-bad-instantiation-test.rs
index 45bcb6f5..60857966 100644
--- a/tests/expectations/tests/libclang-4/issue-769-bad-instantiation-test.rs
+++ b/tests/expectations/tests/libclang-4/issue-769-bad-instantiation-test.rs
@@ -17,7 +17,11 @@ pub mod root {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type AutoValueVector_Alias = ::std::os::raw::c_int;
diff --git a/tests/expectations/tests/libclang-4/type_alias_template_specialized.rs b/tests/expectations/tests/libclang-4/type_alias_template_specialized.rs
index 38f3bfb1..f874e9d2 100644
--- a/tests/expectations/tests/libclang-4/type_alias_template_specialized.rs
+++ b/tests/expectations/tests/libclang-4/type_alias_template_specialized.rs
@@ -35,7 +35,11 @@ fn bindgen_test_layout_Rooted() {
}
impl Default for Rooted {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// <div rustbindgen replaces="MaybeWrapped"></div>
diff --git a/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs b/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs
index 45bcb6f5..60857966 100644
--- a/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs
+++ b/tests/expectations/tests/libclang-5/issue-769-bad-instantiation-test.rs
@@ -17,7 +17,11 @@ pub mod root {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type AutoValueVector_Alias = ::std::os::raw::c_int;
diff --git a/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs b/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs
index 38f3bfb1..f874e9d2 100644
--- a/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs
+++ b/tests/expectations/tests/libclang-5/type_alias_template_specialized.rs
@@ -35,7 +35,11 @@ fn bindgen_test_layout_Rooted() {
}
impl Default for Rooted {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// <div rustbindgen replaces="MaybeWrapped"></div>
diff --git a/tests/expectations/tests/libclang-9/class.rs b/tests/expectations/tests/libclang-9/class.rs
index beea517e..e4527de0 100644
--- a/tests/expectations/tests/libclang-9/class.rs
+++ b/tests/expectations/tests/libclang-9/class.rs
@@ -71,7 +71,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -134,7 +138,11 @@ fn bindgen_test_layout_C_with_zero_length_array() {
}
impl Default for C_with_zero_length_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -242,7 +250,11 @@ fn bindgen_test_layout_C_with_incomplete_array() {
}
impl Default for C_with_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -378,7 +390,11 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() {
}
impl Default for C_with_zero_length_array_and_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -528,7 +544,11 @@ fn bindgen_test_layout_IncompleteArrayNonCopiable() {
}
impl Default for IncompleteArrayNonCopiable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -562,7 +582,11 @@ fn bindgen_test_layout_Union() {
}
impl Default for Union {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -597,7 +621,11 @@ fn bindgen_test_layout_WithUnion() {
}
impl Default for WithUnion {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/libclang-9/class_1_0.rs b/tests/expectations/tests/libclang-9/class_1_0.rs
index d527dfd7..4263bd14 100644
--- a/tests/expectations/tests/libclang-9/class_1_0.rs
+++ b/tests/expectations/tests/libclang-9/class_1_0.rs
@@ -119,7 +119,11 @@ impl Clone for C {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
impl ::std::cmp::PartialEq for C {
@@ -187,7 +191,11 @@ fn bindgen_test_layout_C_with_zero_length_array() {
}
impl Default for C_with_zero_length_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -295,7 +303,11 @@ fn bindgen_test_layout_C_with_incomplete_array() {
}
impl Default for C_with_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -431,7 +443,11 @@ fn bindgen_test_layout_C_with_zero_length_array_and_incomplete_array() {
}
impl Default for C_with_zero_length_array_and_incomplete_array {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -581,7 +597,11 @@ fn bindgen_test_layout_IncompleteArrayNonCopiable() {
}
impl Default for IncompleteArrayNonCopiable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/libclang-9/incomplete-array-padding.rs b/tests/expectations/tests/libclang-9/incomplete-array-padding.rs
index c380a0cc..382195db 100644
--- a/tests/expectations/tests/libclang-9/incomplete-array-padding.rs
+++ b/tests/expectations/tests/libclang-9/incomplete-array-padding.rs
@@ -148,7 +148,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl foo {
diff --git a/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs b/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs
index d8f2ac6e..49664cdd 100644
--- a/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs
+++ b/tests/expectations/tests/libclang-9/issue-643-inner-struct.rs
@@ -168,7 +168,11 @@ fn bindgen_test_layout_rte_ring() {
}
impl Default for rte_ring {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs b/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs
index 45bcb6f5..60857966 100644
--- a/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs
+++ b/tests/expectations/tests/libclang-9/issue-769-bad-instantiation-test.rs
@@ -17,7 +17,11 @@ pub mod root {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type AutoValueVector_Alias = ::std::os::raw::c_int;
diff --git a/tests/expectations/tests/libclang-9/layout_align.rs b/tests/expectations/tests/libclang-9/layout_align.rs
index d153fa5e..4ad54175 100644
--- a/tests/expectations/tests/libclang-9/layout_align.rs
+++ b/tests/expectations/tests/libclang-9/layout_align.rs
@@ -211,7 +211,11 @@ fn bindgen_test_layout_rte_kni_fifo() {
}
impl Default for rte_kni_fifo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs b/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs
index 38f3bfb1..f874e9d2 100644
--- a/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs
+++ b/tests/expectations/tests/libclang-9/type_alias_template_specialized.rs
@@ -35,7 +35,11 @@ fn bindgen_test_layout_Rooted() {
}
impl Default for Rooted {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// <div rustbindgen replaces="MaybeWrapped"></div>
diff --git a/tests/expectations/tests/namespace.rs b/tests/expectations/tests/namespace.rs
index 944ec5bb..576fc933 100644
--- a/tests/expectations/tests/namespace.rs
+++ b/tests/expectations/tests/namespace.rs
@@ -66,7 +66,11 @@ pub mod root {
}
impl<T> Default for C<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub mod w {
@@ -82,7 +86,11 @@ pub mod root {
}
impl<T> Default for D<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/nested_vtable.rs b/tests/expectations/tests/nested_vtable.rs
index 8ea99846..02187776 100644
--- a/tests/expectations/tests/nested_vtable.rs
+++ b/tests/expectations/tests/nested_vtable.rs
@@ -27,7 +27,11 @@ fn bindgen_test_layout_nsISupports() {
}
impl Default for nsISupports {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
@@ -56,7 +60,11 @@ fn bindgen_test_layout_nsIRunnable() {
}
impl Default for nsIRunnable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -79,6 +87,10 @@ fn bindgen_test_layout_Runnable() {
}
impl Default for Runnable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/no-derive-debug.rs b/tests/expectations/tests/no-derive-debug.rs
index d58093ec..a62eaa5d 100644
--- a/tests/expectations/tests/no-derive-debug.rs
+++ b/tests/expectations/tests/no-derive-debug.rs
@@ -44,6 +44,10 @@ fn bindgen_test_layout_bar() {
}
impl Default for bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/no-recursive-allowlisting.rs b/tests/expectations/tests/no-recursive-allowlisting.rs
index 047b22ef..0aa0b5e3 100644
--- a/tests/expectations/tests/no-recursive-allowlisting.rs
+++ b/tests/expectations/tests/no-recursive-allowlisting.rs
@@ -32,6 +32,10 @@ fn bindgen_test_layout_Foo() {
}
impl Default for Foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/no-std.rs b/tests/expectations/tests/no-std.rs
index ea16dc44..f63ac451 100644
--- a/tests/expectations/tests/no-std.rs
+++ b/tests/expectations/tests/no-std.rs
@@ -47,6 +47,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::core::mem::zeroed() }
+ let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/no_debug_bypass_impl_debug.rs b/tests/expectations/tests/no_debug_bypass_impl_debug.rs
index adb80eaa..334f39dd 100644
--- a/tests/expectations/tests/no_debug_bypass_impl_debug.rs
+++ b/tests/expectations/tests/no_debug_bypass_impl_debug.rs
@@ -12,7 +12,11 @@ pub struct Generic<T> {
}
impl<T> Default for Generic<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<T> ::std::fmt::Debug for Generic<T> {
@@ -27,6 +31,10 @@ pub struct NoDebug<T> {
}
impl<T> Default for NoDebug<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/no_default.rs b/tests/expectations/tests/no_default.rs
index 27ea3035..22fdbf36 100644
--- a/tests/expectations/tests/no_default.rs
+++ b/tests/expectations/tests/no_default.rs
@@ -18,6 +18,10 @@ pub struct DefaultButWaitDerived {
}
impl Default for DefaultButWaitDerived {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/no_default_bypass_derive_default.rs b/tests/expectations/tests/no_default_bypass_derive_default.rs
index 4b97e3f4..6c44a9dd 100644
--- a/tests/expectations/tests/no_default_bypass_derive_default.rs
+++ b/tests/expectations/tests/no_default_bypass_derive_default.rs
@@ -12,7 +12,11 @@ pub struct Generic<T> {
}
impl<T> Default for Generic<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/nsBaseHashtable.rs b/tests/expectations/tests/nsBaseHashtable.rs
index e26190b0..d7607b91 100644
--- a/tests/expectations/tests/nsBaseHashtable.rs
+++ b/tests/expectations/tests/nsBaseHashtable.rs
@@ -31,7 +31,11 @@ pub struct nsBaseHashtable_LookupResult {
}
impl Default for nsBaseHashtable_LookupResult {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -42,11 +46,19 @@ pub struct nsBaseHashtable_EntryPtr {
}
impl Default for nsBaseHashtable_EntryPtr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Default for nsBaseHashtable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/nsStyleAutoArray.rs b/tests/expectations/tests/nsStyleAutoArray.rs
index 091be3dd..fab18c1c 100644
--- a/tests/expectations/tests/nsStyleAutoArray.rs
+++ b/tests/expectations/tests/nsStyleAutoArray.rs
@@ -13,7 +13,11 @@ pub struct nsTArray<T> {
}
impl<T> Default for nsTArray<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -30,6 +34,10 @@ pub enum nsStyleAutoArray_WithSingleInitialElement {
}
impl<T> Default for nsStyleAutoArray<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/objc_interface_type.rs b/tests/expectations/tests/objc_interface_type.rs
index 2585df6e..cef29c8c 100644
--- a/tests/expectations/tests/objc_interface_type.rs
+++ b/tests/expectations/tests/objc_interface_type.rs
@@ -59,7 +59,11 @@ fn bindgen_test_layout_FooStruct() {
}
impl Default for FooStruct {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/opaque-template-inst-member-2.rs b/tests/expectations/tests/opaque-template-inst-member-2.rs
index 7d3e83a8..f47aff05 100644
--- a/tests/expectations/tests/opaque-template-inst-member-2.rs
+++ b/tests/expectations/tests/opaque-template-inst-member-2.rs
@@ -93,6 +93,10 @@ fn bindgen_test_layout_InheritsOpaqueTemplate() {
}
impl Default for InheritsOpaqueTemplate {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/opaque-template-inst-member.rs b/tests/expectations/tests/opaque-template-inst-member.rs
index ea821fcd..a3c67784 100644
--- a/tests/expectations/tests/opaque-template-inst-member.rs
+++ b/tests/expectations/tests/opaque-template-inst-member.rs
@@ -58,7 +58,11 @@ fn bindgen_test_layout_ContainsOpaqueTemplate() {
}
impl Default for ContainsOpaqueTemplate {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for ContainsOpaqueTemplate {
@@ -101,7 +105,11 @@ fn bindgen_test_layout_InheritsOpaqueTemplate() {
}
impl Default for InheritsOpaqueTemplate {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl ::std::cmp::PartialEq for InheritsOpaqueTemplate {
diff --git a/tests/expectations/tests/opaque-template-instantiation-namespaced.rs b/tests/expectations/tests/opaque-template-instantiation-namespaced.rs
index 7f1aac8e..e972443e 100644
--- a/tests/expectations/tests/opaque-template-instantiation-namespaced.rs
+++ b/tests/expectations/tests/opaque-template-instantiation-namespaced.rs
@@ -21,7 +21,11 @@ pub mod root {
}
impl<T> Default for Template<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -117,7 +121,11 @@ pub mod root {
}
impl Default for ContainsInstantiation {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/opaque-template-instantiation.rs b/tests/expectations/tests/opaque-template-instantiation.rs
index 771a5191..6f0f31b3 100644
--- a/tests/expectations/tests/opaque-template-instantiation.rs
+++ b/tests/expectations/tests/opaque-template-instantiation.rs
@@ -13,7 +13,11 @@ pub struct Template<T> {
}
impl<T> Default for Template<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -49,7 +53,11 @@ fn bindgen_test_layout_ContainsInstantiation() {
}
impl Default for ContainsInstantiation {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/opaque_pointer.rs b/tests/expectations/tests/opaque_pointer.rs
index f5fecd46..90b019b2 100644
--- a/tests/expectations/tests/opaque_pointer.rs
+++ b/tests/expectations/tests/opaque_pointer.rs
@@ -90,6 +90,10 @@ fn bindgen_test_layout_WithOpaquePtr() {
}
impl Default for WithOpaquePtr {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/packed-vtable.rs b/tests/expectations/tests/packed-vtable.rs
index 7f12a361..0069eada 100644
--- a/tests/expectations/tests/packed-vtable.rs
+++ b/tests/expectations/tests/packed-vtable.rs
@@ -28,7 +28,11 @@ fn bindgen_test_layout_PackedVtable() {
}
impl Default for PackedVtable {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/private_fields.rs b/tests/expectations/tests/private_fields.rs
index d5371e1c..92a4bf65 100644
--- a/tests/expectations/tests/private_fields.rs
+++ b/tests/expectations/tests/private_fields.rs
@@ -498,7 +498,11 @@ fn bindgen_test_layout_WithAnonUnion__bindgen_ty_1() {
}
impl Default for WithAnonUnion__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -516,6 +520,10 @@ fn bindgen_test_layout_WithAnonUnion() {
}
impl Default for WithAnonUnion {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/ref_argument_array.rs b/tests/expectations/tests/ref_argument_array.rs
index 0643d47b..799dd815 100644
--- a/tests/expectations/tests/ref_argument_array.rs
+++ b/tests/expectations/tests/ref_argument_array.rs
@@ -28,7 +28,11 @@ fn bindgen_test_layout_nsID() {
}
impl Default for nsID {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/replace_template_alias.rs b/tests/expectations/tests/replace_template_alias.rs
index 0c5500ea..4f464129 100644
--- a/tests/expectations/tests/replace_template_alias.rs
+++ b/tests/expectations/tests/replace_template_alias.rs
@@ -17,6 +17,10 @@ pub struct JS_Rooted<T> {
}
impl<T> Default for JS_Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/replaces_double.rs b/tests/expectations/tests/replaces_double.rs
index 7b7ec00e..99de1320 100644
--- a/tests/expectations/tests/replaces_double.rs
+++ b/tests/expectations/tests/replaces_double.rs
@@ -13,7 +13,11 @@ pub struct Wrapper_Wrapped<T> {
}
impl<T> Default for Wrapper_Wrapped<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type Wrapper_Type<T> = Wrapper_Wrapped<T>;
@@ -27,6 +31,10 @@ pub struct Rooted<T> {
pub type Rooted_MaybeWrapped<T> = T;
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/size_t_is_usize.rs b/tests/expectations/tests/size_t_is_usize.rs
index 43dda32b..0d9ab2ca 100644
--- a/tests/expectations/tests/size_t_is_usize.rs
+++ b/tests/expectations/tests/size_t_is_usize.rs
@@ -42,6 +42,10 @@ fn bindgen_test_layout_A() {
}
impl Default for A {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/struct_containing_forward_declared_struct.rs b/tests/expectations/tests/struct_containing_forward_declared_struct.rs
index 4844186f..7298095e 100644
--- a/tests/expectations/tests/struct_containing_forward_declared_struct.rs
+++ b/tests/expectations/tests/struct_containing_forward_declared_struct.rs
@@ -30,7 +30,11 @@ fn bindgen_test_layout_a() {
}
impl Default for a {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/struct_typedef.rs b/tests/expectations/tests/struct_typedef.rs
index 5756ab81..34c9dbd2 100644
--- a/tests/expectations/tests/struct_typedef.rs
+++ b/tests/expectations/tests/struct_typedef.rs
@@ -69,7 +69,11 @@ fn bindgen_test_layout__bindgen_ty_1() {
}
impl Default for _bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type struct_ptr_t = *mut _bindgen_ty_1;
diff --git a/tests/expectations/tests/struct_with_anon_struct_pointer.rs b/tests/expectations/tests/struct_with_anon_struct_pointer.rs
index 04e11af6..0ed19f76 100644
--- a/tests/expectations/tests/struct_with_anon_struct_pointer.rs
+++ b/tests/expectations/tests/struct_with_anon_struct_pointer.rs
@@ -73,6 +73,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/struct_with_anon_union.rs b/tests/expectations/tests/struct_with_anon_union.rs
index 4ca84527..15b8c9e4 100644
--- a/tests/expectations/tests/struct_with_anon_union.rs
+++ b/tests/expectations/tests/struct_with_anon_union.rs
@@ -55,7 +55,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -78,6 +82,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/struct_with_anon_unnamed_union.rs b/tests/expectations/tests/struct_with_anon_unnamed_union.rs
index 5d03b7fb..17a83574 100644
--- a/tests/expectations/tests/struct_with_anon_unnamed_union.rs
+++ b/tests/expectations/tests/struct_with_anon_unnamed_union.rs
@@ -55,7 +55,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -73,6 +77,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/struct_with_derive_debug.rs b/tests/expectations/tests/struct_with_derive_debug.rs
index 0a704fe5..721ba96c 100644
--- a/tests/expectations/tests/struct_with_derive_debug.rs
+++ b/tests/expectations/tests/struct_with_derive_debug.rs
@@ -65,7 +65,11 @@ fn bindgen_test_layout_BigArray() {
}
impl Default for BigArray {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -130,6 +134,10 @@ fn bindgen_test_layout_WithBigArray() {
}
impl Default for WithBigArray {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/struct_with_large_array.rs b/tests/expectations/tests/struct_with_large_array.rs
index 850ded56..56179c20 100644
--- a/tests/expectations/tests/struct_with_large_array.rs
+++ b/tests/expectations/tests/struct_with_large_array.rs
@@ -37,7 +37,11 @@ fn bindgen_test_layout_S() {
}
impl Default for S {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -47,6 +51,10 @@ pub struct ST<T> {
}
impl<T> Default for ST<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/struct_with_nesting.rs b/tests/expectations/tests/struct_with_nesting.rs
index a98bd8ca..7ced63e6 100644
--- a/tests/expectations/tests/struct_with_nesting.rs
+++ b/tests/expectations/tests/struct_with_nesting.rs
@@ -163,7 +163,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -186,6 +190,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-0.rs b/tests/expectations/tests/template-param-usage-0.rs
index f473b74d..2acfb069 100644
--- a/tests/expectations/tests/template-param-usage-0.rs
+++ b/tests/expectations/tests/template-param-usage-0.rs
@@ -13,6 +13,10 @@ pub struct UsesTemplateParameter<T> {
}
impl<T> Default for UsesTemplateParameter<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-10.rs b/tests/expectations/tests/template-param-usage-10.rs
index 0afc5952..c6034fb8 100644
--- a/tests/expectations/tests/template-param-usage-10.rs
+++ b/tests/expectations/tests/template-param-usage-10.rs
@@ -24,11 +24,19 @@ pub struct DoublyIndirectUsage_IndirectUsage<T, U> {
}
impl<T, U> Default for DoublyIndirectUsage_IndirectUsage<T, U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<T, U> Default for DoublyIndirectUsage<T, U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-12.rs b/tests/expectations/tests/template-param-usage-12.rs
index 9f964b29..626e451a 100644
--- a/tests/expectations/tests/template-param-usage-12.rs
+++ b/tests/expectations/tests/template-param-usage-12.rs
@@ -13,7 +13,11 @@ pub struct BaseUsesT<T> {
}
impl<T> Default for BaseUsesT<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -25,6 +29,10 @@ pub struct CrtpUsesU<U> {
}
impl<U> Default for CrtpUsesU<U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-13.rs b/tests/expectations/tests/template-param-usage-13.rs
index 64e08da4..70c1778b 100644
--- a/tests/expectations/tests/template-param-usage-13.rs
+++ b/tests/expectations/tests/template-param-usage-13.rs
@@ -19,6 +19,10 @@ pub struct CrtpUsesU<U> {
}
impl<U> Default for CrtpUsesU<U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-14.rs b/tests/expectations/tests/template-param-usage-14.rs
index 8826105f..0e0fd0c9 100644
--- a/tests/expectations/tests/template-param-usage-14.rs
+++ b/tests/expectations/tests/template-param-usage-14.rs
@@ -18,6 +18,10 @@ pub struct CrtpIgnoresU {
}
impl Default for CrtpIgnoresU {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-15.rs b/tests/expectations/tests/template-param-usage-15.rs
index 45f34229..941c6073 100644
--- a/tests/expectations/tests/template-param-usage-15.rs
+++ b/tests/expectations/tests/template-param-usage-15.rs
@@ -13,7 +13,11 @@ pub struct BaseUsesT<T> {
}
impl<T> Default for BaseUsesT<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -24,6 +28,10 @@ pub struct CrtpIgnoresU {
}
impl Default for CrtpIgnoresU {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-2.rs b/tests/expectations/tests/template-param-usage-2.rs
index 3270e160..0ad5d7bb 100644
--- a/tests/expectations/tests/template-param-usage-2.rs
+++ b/tests/expectations/tests/template-param-usage-2.rs
@@ -19,11 +19,19 @@ pub struct UsesTemplateParameter_AlsoUsesTemplateParameter<T> {
}
impl<T> Default for UsesTemplateParameter_AlsoUsesTemplateParameter<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<T> Default for UsesTemplateParameter<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-3.rs b/tests/expectations/tests/template-param-usage-3.rs
index 9d9d8f97..414818d9 100644
--- a/tests/expectations/tests/template-param-usage-3.rs
+++ b/tests/expectations/tests/template-param-usage-3.rs
@@ -23,11 +23,19 @@ impl<T, U> Default
for UsesTemplateParameter_AlsoUsesTemplateParameterAndMore<T, U>
{
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl<T> Default for UsesTemplateParameter<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-4.rs b/tests/expectations/tests/template-param-usage-4.rs
index 38479aca..afcba978 100644
--- a/tests/expectations/tests/template-param-usage-4.rs
+++ b/tests/expectations/tests/template-param-usage-4.rs
@@ -18,6 +18,10 @@ pub struct UsesTemplateParameter_DoesNotUseTemplateParameters {
}
impl<T> Default for UsesTemplateParameter<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-5.rs b/tests/expectations/tests/template-param-usage-5.rs
index 69768418..2cc8db6f 100644
--- a/tests/expectations/tests/template-param-usage-5.rs
+++ b/tests/expectations/tests/template-param-usage-5.rs
@@ -14,6 +14,10 @@ pub struct IndirectlyUsesTemplateParameter<T> {
pub type IndirectlyUsesTemplateParameter_Aliased<T> = T;
impl<T> Default for IndirectlyUsesTemplateParameter<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-7.rs b/tests/expectations/tests/template-param-usage-7.rs
index 6f7544ff..3ed7a45d 100644
--- a/tests/expectations/tests/template-param-usage-7.rs
+++ b/tests/expectations/tests/template-param-usage-7.rs
@@ -15,7 +15,11 @@ pub struct DoesNotUseU<T, V> {
}
impl<T, V> Default for DoesNotUseU<T, V> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type Alias = DoesNotUseU<::std::os::raw::c_int, ::std::os::raw::c_char>;
diff --git a/tests/expectations/tests/template-param-usage-8.rs b/tests/expectations/tests/template-param-usage-8.rs
index 3a0100ff..f8ac6714 100644
--- a/tests/expectations/tests/template-param-usage-8.rs
+++ b/tests/expectations/tests/template-param-usage-8.rs
@@ -17,6 +17,10 @@ pub type IndirectUsage_Typedefed<T> = T;
pub type IndirectUsage_Aliased<U> = U;
impl<T, U> Default for IndirectUsage<T, U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template-param-usage-9.rs b/tests/expectations/tests/template-param-usage-9.rs
index a93e4b7c..a50079a2 100644
--- a/tests/expectations/tests/template-param-usage-9.rs
+++ b/tests/expectations/tests/template-param-usage-9.rs
@@ -22,6 +22,10 @@ pub struct DoesNotUse_IndirectUsage<T, U> {
}
impl<T, U> Default for DoesNotUse_IndirectUsage<T, U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template.rs b/tests/expectations/tests/template.rs
index 67a0f856..9c484886 100644
--- a/tests/expectations/tests/template.rs
+++ b/tests/expectations/tests/template.rs
@@ -15,7 +15,11 @@ pub struct Foo<T> {
}
impl<T> Default for Foo<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -26,7 +30,11 @@ pub struct B<T> {
}
impl<T> Default for B<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
@@ -231,7 +239,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -249,12 +261,20 @@ pub struct D_U<Z> {
}
impl<Z> Default for D_U<Z> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Default for D {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -267,7 +287,11 @@ pub struct Rooted<T> {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -303,7 +327,11 @@ fn bindgen_test_layout_RootedContainer() {
}
impl Default for RootedContainer {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type WithDtorIntFwd = WithDtor<::std::os::raw::c_int>;
@@ -315,7 +343,11 @@ pub struct WithDtor<T> {
}
impl<T> Default for WithDtor<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -351,7 +383,11 @@ fn bindgen_test_layout_PODButContainsDtor() {
}
impl Default for PODButContainsDtor {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// <div rustbindgen opaque>
@@ -399,7 +435,11 @@ pub struct NestedReplaced<T> {
}
impl<T> Default for NestedReplaced<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -410,7 +450,11 @@ pub struct NestedBase<T> {
}
impl<T> Default for NestedBase<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -423,7 +467,11 @@ pub struct NestedContainer<T> {
}
impl<T> Default for NestedContainer<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -434,7 +482,11 @@ pub struct Incomplete<T> {
}
impl<T> Default for Incomplete<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -472,7 +524,11 @@ pub struct ReplacedWithoutDestructor<T> {
}
impl<T> Default for ReplacedWithoutDestructor<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -483,7 +539,11 @@ pub struct ShouldNotBeCopiable<T> {
}
impl<T> Default for ShouldNotBeCopiable<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -494,7 +554,11 @@ pub struct ShouldNotBeCopiableAsWell<U> {
}
impl<U> Default for ShouldNotBeCopiableAsWell<U> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
/// If the replacement doesn't happen at the parse level the container would be
@@ -509,7 +573,11 @@ pub struct ReplacedWithoutDestructorFwd<T> {
}
impl<T> Default for ReplacedWithoutDestructorFwd<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/template_alias.rs b/tests/expectations/tests/template_alias.rs
index 3b79a3d8..7e0af20d 100644
--- a/tests/expectations/tests/template_alias.rs
+++ b/tests/expectations/tests/template_alias.rs
@@ -14,6 +14,10 @@ pub struct JS_Rooted<T> {
}
impl<T> Default for JS_Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/template_alias_namespace.rs b/tests/expectations/tests/template_alias_namespace.rs
index fd20bab0..7196b532 100644
--- a/tests/expectations/tests/template_alias_namespace.rs
+++ b/tests/expectations/tests/template_alias_namespace.rs
@@ -26,7 +26,11 @@ pub mod root {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
}
diff --git a/tests/expectations/tests/template_typedef_transitive_param.rs b/tests/expectations/tests/template_typedef_transitive_param.rs
index 8c9dd4d0..68ca126a 100644
--- a/tests/expectations/tests/template_typedef_transitive_param.rs
+++ b/tests/expectations/tests/template_typedef_transitive_param.rs
@@ -18,7 +18,11 @@ pub struct Wrapper_Wrapped<T> {
}
impl<T> Default for Wrapper_Wrapped<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type Wrapper_Type<T> = Wrapper_Wrapped<T>;
diff --git a/tests/expectations/tests/timex.rs b/tests/expectations/tests/timex.rs
index 63917d6a..72ada37a 100644
--- a/tests/expectations/tests/timex.rs
+++ b/tests/expectations/tests/timex.rs
@@ -123,7 +123,11 @@ fn bindgen_test_layout_timex() {
}
impl Default for timex {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -160,6 +164,10 @@ fn bindgen_test_layout_timex_named() {
}
impl Default for timex_named {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/transform-op.rs b/tests/expectations/tests/transform-op.rs
index 64c588d8..84a94603 100644
--- a/tests/expectations/tests/transform-op.rs
+++ b/tests/expectations/tests/transform-op.rs
@@ -57,7 +57,11 @@ pub struct StylePoint<T> {
}
impl<T> Default for StylePoint<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -86,7 +90,11 @@ pub struct StyleFoo_Foo_Body<T> {
}
impl<T> Default for StyleFoo_Foo_Body<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -98,7 +106,11 @@ pub struct StyleFoo_Bar_Body<T> {
}
impl<T> Default for StyleFoo_Bar_Body<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -110,7 +122,11 @@ pub struct StyleFoo_Baz_Body<T> {
}
impl<T> Default for StyleFoo_Baz_Body<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -120,7 +136,11 @@ pub struct StyleFoo__bindgen_ty_1 {
}
impl Default for StyleFoo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -145,7 +165,11 @@ pub struct StyleBar_StyleBar1_Body<T> {
}
impl<T> Default for StyleBar_StyleBar1_Body<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -156,7 +180,11 @@ pub struct StyleBar_StyleBar2_Body<T> {
}
impl<T> Default for StyleBar_StyleBar2_Body<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -167,7 +195,11 @@ pub struct StyleBar_StyleBar3_Body<T> {
}
impl<T> Default for StyleBar_StyleBar3_Body<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -181,7 +213,11 @@ pub struct StyleBar__bindgen_ty_1<T> {
}
impl<T> Default for StyleBar<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/type_alias_partial_template_especialization.rs b/tests/expectations/tests/type_alias_partial_template_especialization.rs
index a80f46b6..44449f20 100644
--- a/tests/expectations/tests/type_alias_partial_template_especialization.rs
+++ b/tests/expectations/tests/type_alias_partial_template_especialization.rs
@@ -14,6 +14,10 @@ pub struct Rooted<T> {
}
impl<T> Default for Rooted<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/typeref.rs b/tests/expectations/tests/typeref.rs
index b62ce929..1c34be7e 100644
--- a/tests/expectations/tests/typeref.rs
+++ b/tests/expectations/tests/typeref.rs
@@ -65,12 +65,20 @@ pub union mozilla_StyleShapeSource__bindgen_ty_1 {
}
impl Default for mozilla_StyleShapeSource__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Default for mozilla_StyleShapeSource {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -98,7 +106,11 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -130,7 +142,11 @@ fn bindgen_test_layout_nsFoo() {
}
impl Default for nsFoo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
diff --git a/tests/expectations/tests/typeref_1_0.rs b/tests/expectations/tests/typeref_1_0.rs
index 75b41960..2820d9f9 100644
--- a/tests/expectations/tests/typeref_1_0.rs
+++ b/tests/expectations/tests/typeref_1_0.rs
@@ -149,7 +149,11 @@ impl Clone for Bar {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/union-align.rs b/tests/expectations/tests/union-align.rs
index 7151ba45..86127641 100644
--- a/tests/expectations/tests/union-align.rs
+++ b/tests/expectations/tests/union-align.rs
@@ -31,7 +31,11 @@ fn bindgen_test_layout_Bar() {
}
impl Default for Bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -60,6 +64,10 @@ fn bindgen_test_layout_Baz() {
}
impl Default for Baz {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
diff --git a/tests/expectations/tests/union-in-ns.rs b/tests/expectations/tests/union-in-ns.rs
index abb330b8..b52c6c36 100644
--- a/tests/expectations/tests/union-in-ns.rs
+++ b/tests/expectations/tests/union-in-ns.rs
@@ -39,7 +39,11 @@ pub mod root {
}
impl Default for bar {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
}
diff --git a/tests/expectations/tests/union_bitfield.rs b/tests/expectations/tests/union_bitfield.rs
index cf3595ec..9e07a1df 100644
--- a/tests/expectations/tests/union_bitfield.rs
+++ b/tests/expectations/tests/union_bitfield.rs
@@ -113,7 +113,11 @@ fn bindgen_test_layout_U4() {
}
impl Default for U4 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl U4 {
@@ -165,7 +169,11 @@ fn bindgen_test_layout_B() {
}
impl Default for B {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl B {
diff --git a/tests/expectations/tests/union_bitfield_1_0.rs b/tests/expectations/tests/union_bitfield_1_0.rs
index 7c846da8..22277468 100644
--- a/tests/expectations/tests/union_bitfield_1_0.rs
+++ b/tests/expectations/tests/union_bitfield_1_0.rs
@@ -284,7 +284,11 @@ impl Clone for HasBigBitfield {
}
impl Default for HasBigBitfield {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
impl ::std::cmp::PartialEq for HasBigBitfield {
diff --git a/tests/expectations/tests/union_dtor.rs b/tests/expectations/tests/union_dtor.rs
index a06e8ccf..94ad3fd8 100644
--- a/tests/expectations/tests/union_dtor.rs
+++ b/tests/expectations/tests/union_dtor.rs
@@ -53,7 +53,11 @@ extern "C" {
}
impl Default for UnionWithDtor {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl UnionWithDtor {
diff --git a/tests/expectations/tests/union_fields.rs b/tests/expectations/tests/union_fields.rs
index e605b0bc..6cd0d56c 100644
--- a/tests/expectations/tests/union_fields.rs
+++ b/tests/expectations/tests/union_fields.rs
@@ -64,6 +64,10 @@ fn bindgen_test_layout_nsStyleUnion() {
}
impl Default for nsStyleUnion {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_template.rs b/tests/expectations/tests/union_template.rs
index 6a366f9e..9c3d7a07 100644
--- a/tests/expectations/tests/union_template.rs
+++ b/tests/expectations/tests/union_template.rs
@@ -18,7 +18,11 @@ pub union NastyStruct__bindgen_ty_1 {
}
impl Default for NastyStruct__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -28,12 +32,20 @@ pub union NastyStruct__bindgen_ty_2 {
}
impl Default for NastyStruct__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Default for NastyStruct {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -43,6 +55,10 @@ pub union Whatever {
}
impl Default for Whatever {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_with_anon_struct.rs b/tests/expectations/tests/union_with_anon_struct.rs
index 7d061cec..afb73504 100644
--- a/tests/expectations/tests/union_with_anon_struct.rs
+++ b/tests/expectations/tests/union_with_anon_struct.rs
@@ -73,6 +73,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_with_anon_struct_bitfield.rs b/tests/expectations/tests/union_with_anon_struct_bitfield.rs
index 2e3e6415..09ed515f 100644
--- a/tests/expectations/tests/union_with_anon_struct_bitfield.rs
+++ b/tests/expectations/tests/union_with_anon_struct_bitfield.rs
@@ -182,6 +182,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_with_anon_union.rs b/tests/expectations/tests/union_with_anon_union.rs
index 83e4801a..a24962c4 100644
--- a/tests/expectations/tests/union_with_anon_union.rs
+++ b/tests/expectations/tests/union_with_anon_union.rs
@@ -55,7 +55,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -78,6 +82,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_with_anon_unnamed_struct.rs b/tests/expectations/tests/union_with_anon_unnamed_struct.rs
index 5802f563..94380d1a 100644
--- a/tests/expectations/tests/union_with_anon_unnamed_struct.rs
+++ b/tests/expectations/tests/union_with_anon_unnamed_struct.rs
@@ -109,6 +109,10 @@ fn bindgen_test_layout_pixel() {
}
impl Default for pixel {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_with_anon_unnamed_union.rs b/tests/expectations/tests/union_with_anon_unnamed_union.rs
index fc465737..2004ff4c 100644
--- a/tests/expectations/tests/union_with_anon_unnamed_union.rs
+++ b/tests/expectations/tests/union_with_anon_unnamed_union.rs
@@ -56,7 +56,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -79,6 +83,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_with_big_member.rs b/tests/expectations/tests/union_with_big_member.rs
index 6425c114..3f9294dd 100644
--- a/tests/expectations/tests/union_with_big_member.rs
+++ b/tests/expectations/tests/union_with_big_member.rs
@@ -50,7 +50,11 @@ fn bindgen_test_layout_WithBigArray() {
}
impl Default for WithBigArray {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -98,7 +102,11 @@ fn bindgen_test_layout_WithBigArray2() {
}
impl Default for WithBigArray2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -146,6 +154,10 @@ fn bindgen_test_layout_WithBigMember() {
}
impl Default for WithBigMember {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/union_with_big_member_1_0.rs b/tests/expectations/tests/union_with_big_member_1_0.rs
index 3aba485b..541c9d4c 100644
--- a/tests/expectations/tests/union_with_big_member_1_0.rs
+++ b/tests/expectations/tests/union_with_big_member_1_0.rs
@@ -99,7 +99,11 @@ impl Clone for WithBigArray {
}
impl Default for WithBigArray {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
@@ -202,6 +206,10 @@ impl Clone for WithBigMember {
}
impl Default for WithBigMember {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::std::mem::uninitialized();
+ ::std::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
diff --git a/tests/expectations/tests/union_with_nesting.rs b/tests/expectations/tests/union_with_nesting.rs
index 55045f2f..54a3179b 100644
--- a/tests/expectations/tests/union_with_nesting.rs
+++ b/tests/expectations/tests/union_with_nesting.rs
@@ -64,7 +64,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -114,7 +118,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1__bindgen_ty_2() {
}
impl Default for foo__bindgen_ty_1__bindgen_ty_2 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -132,7 +140,11 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
}
impl Default for foo__bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[test]
@@ -155,6 +167,10 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/use-core.rs b/tests/expectations/tests/use-core.rs
index 4cb2851f..d919b6e7 100644
--- a/tests/expectations/tests/use-core.rs
+++ b/tests/expectations/tests/use-core.rs
@@ -44,7 +44,11 @@ fn bindgen_test_layout_foo() {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::core::mem::zeroed() }
+ let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -92,7 +96,11 @@ fn bindgen_test_layout__bindgen_ty_1() {
}
impl Default for _bindgen_ty_1 {
fn default() -> Self {
- unsafe { ::core::mem::zeroed() }
+ let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/use-core_1_0.rs b/tests/expectations/tests/use-core_1_0.rs
index 2d3b39df..61ddfc42 100644
--- a/tests/expectations/tests/use-core_1_0.rs
+++ b/tests/expectations/tests/use-core_1_0.rs
@@ -92,7 +92,11 @@ impl Clone for foo {
}
impl Default for foo {
fn default() -> Self {
- unsafe { ::core::mem::zeroed() }
+ unsafe {
+ let mut s: Self = ::core::mem::uninitialized();
+ ::core::ptr::write_bytes(&mut s, 0, 1);
+ s
+ }
}
}
#[repr(C)]
diff --git a/tests/expectations/tests/using.rs b/tests/expectations/tests/using.rs
index 28b4308b..4749ed55 100644
--- a/tests/expectations/tests/using.rs
+++ b/tests/expectations/tests/using.rs
@@ -14,7 +14,11 @@ pub struct Point<T> {
}
impl<T> Default for Point<T> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type IntPoint2D = Point<::std::os::raw::c_int>;
diff --git a/tests/expectations/tests/virtual_dtor.rs b/tests/expectations/tests/virtual_dtor.rs
index f50130cd..c3c66e91 100644
--- a/tests/expectations/tests/virtual_dtor.rs
+++ b/tests/expectations/tests/virtual_dtor.rs
@@ -27,7 +27,11 @@ fn bindgen_test_layout_nsSlots() {
}
impl Default for nsSlots {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/virtual_inheritance.rs b/tests/expectations/tests/virtual_inheritance.rs
index 8283b6d5..eac6aa66 100644
--- a/tests/expectations/tests/virtual_inheritance.rs
+++ b/tests/expectations/tests/virtual_inheritance.rs
@@ -56,7 +56,11 @@ fn bindgen_test_layout_B() {
}
impl Default for B {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -87,7 +91,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
#[repr(C)]
@@ -112,6 +120,10 @@ fn bindgen_test_layout_D() {
}
impl Default for D {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/virtual_overloaded.rs b/tests/expectations/tests/virtual_overloaded.rs
index 9a9d6424..4556b1b6 100644
--- a/tests/expectations/tests/virtual_overloaded.rs
+++ b/tests/expectations/tests/virtual_overloaded.rs
@@ -27,7 +27,11 @@ fn bindgen_test_layout_C() {
}
impl Default for C {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
diff --git a/tests/expectations/tests/vtable_recursive_sig.rs b/tests/expectations/tests/vtable_recursive_sig.rs
index 0285154c..ca77bc8c 100644
--- a/tests/expectations/tests/vtable_recursive_sig.rs
+++ b/tests/expectations/tests/vtable_recursive_sig.rs
@@ -27,7 +27,11 @@ fn bindgen_test_layout_Base() {
}
impl Default for Base {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
extern "C" {
@@ -54,6 +58,10 @@ fn bindgen_test_layout_Derived() {
}
impl Default for Derived {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
diff --git a/tests/expectations/tests/weird_bitfields.rs b/tests/expectations/tests/weird_bitfields.rs
index d25c802e..c4dfa55a 100644
--- a/tests/expectations/tests/weird_bitfields.rs
+++ b/tests/expectations/tests/weird_bitfields.rs
@@ -286,7 +286,11 @@ fn bindgen_test_layout_Weird() {
}
impl Default for Weird {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
impl Weird {
diff --git a/tests/expectations/tests/what_is_going_on.rs b/tests/expectations/tests/what_is_going_on.rs
index 8f70466b..b4f42791 100644
--- a/tests/expectations/tests/what_is_going_on.rs
+++ b/tests/expectations/tests/what_is_going_on.rs
@@ -33,7 +33,11 @@ pub struct PointTyped<F> {
}
impl<F> Default for PointTyped<F> {
fn default() -> Self {
- unsafe { ::std::mem::zeroed() }
+ let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
}
}
pub type IntPoint = PointTyped<f32>;