summaryrefslogtreecommitdiff
path: root/tests/expectations/tests/struct_with_anon_union.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/expectations/tests/struct_with_anon_union.rs')
-rw-r--r--tests/expectations/tests/struct_with_anon_union.rs44
1 files changed, 11 insertions, 33 deletions
diff --git a/tests/expectations/tests/struct_with_anon_union.rs b/tests/expectations/tests/struct_with_anon_union.rs
index 84be35ed..eeb36756 100644
--- a/tests/expectations/tests/struct_with_anon_union.rs
+++ b/tests/expectations/tests/struct_with_anon_union.rs
@@ -5,43 +5,15 @@
#[repr(C)]
-pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
-impl <T> __BindgenUnionField<T> {
- #[inline]
- pub fn new() -> Self { __BindgenUnionField(::std::marker::PhantomData) }
- #[inline]
- pub unsafe fn as_ref(&self) -> &T { ::std::mem::transmute(self) }
- #[inline]
- pub unsafe fn as_mut(&mut self) -> &mut T { ::std::mem::transmute(self) }
-}
-impl <T> ::std::default::Default for __BindgenUnionField<T> {
- #[inline]
- fn default() -> Self { Self::new() }
-}
-impl <T> ::std::clone::Clone for __BindgenUnionField<T> {
- #[inline]
- fn clone(&self) -> Self { Self::new() }
-}
-impl <T> ::std::marker::Copy for __BindgenUnionField<T> { }
-impl <T> ::std::fmt::Debug for __BindgenUnionField<T> {
- fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
- fmt.write_str("__BindgenUnionField")
- }
-}
-impl <T> ::std::hash::Hash for __BindgenUnionField<T> {
- fn hash<H: ::std::hash::Hasher>(&self, _state: &mut H) { }
-}
-#[repr(C)]
-#[derive(Debug, Default, Copy, Hash)]
+#[derive(Copy)]
pub struct foo {
pub bar: foo__bindgen_ty_1,
}
#[repr(C)]
-#[derive(Debug, Default, Copy, Hash)]
-pub struct foo__bindgen_ty_1 {
- pub a: __BindgenUnionField<::std::os::raw::c_uint>,
- pub b: __BindgenUnionField<::std::os::raw::c_ushort>,
- pub bindgen_union_field: u32,
+#[derive(Copy)]
+pub union foo__bindgen_ty_1 {
+ pub a: ::std::os::raw::c_uint,
+ pub b: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout_foo__bindgen_ty_1() {
@@ -63,6 +35,9 @@ fn bindgen_test_layout_foo__bindgen_ty_1() {
impl Clone for foo__bindgen_ty_1 {
fn clone(&self) -> Self { *self }
}
+impl Default for foo__bindgen_ty_1 {
+ fn default() -> Self { unsafe { ::std::mem::zeroed() } }
+}
#[test]
fn bindgen_test_layout_foo() {
assert_eq!(::std::mem::size_of::<foo>() , 4usize , concat ! (
@@ -78,3 +53,6 @@ fn bindgen_test_layout_foo() {
impl Clone for foo {
fn clone(&self) -> Self { *self }
}
+impl Default for foo {
+ fn default() -> Self { unsafe { ::std::mem::zeroed() } }
+}