Skip to content

Commit e63dbd8

Browse files
committed
Update tests without Copy/Clone/Eq*/Ord* derives for opaque types
1 parent 133342d commit e63dbd8

31 files changed

+45
-97
lines changed

tests/expectations/tests/annotation_hide.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
/// <div rustbindgen opaque></div>
1111
#[repr(C)]
1212
#[repr(align(4))]
13-
#[derive(Debug, Default, Copy, Clone)]
13+
#[derive(Default)]
1414
pub struct D {
1515
pub _bindgen_opaque_blob: u32,
1616
}

tests/expectations/tests/bitfield_large_overflow.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#[repr(C)]
1111
#[repr(align(8))]
12-
#[derive(Debug, Default, Copy, Clone)]
12+
#[derive(Default)]
1313
pub struct _bindgen_ty_1 {
1414
pub _bindgen_opaque_blob: [u64; 10usize],
1515
}

tests/expectations/tests/derive-debug-opaque-template-instantiation.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
)]
99

1010
#[repr(C)]
11+
#[derive(Default)]
1112
pub struct Instance {
1213
pub val: [u32; 50usize],
1314
}
@@ -36,11 +37,6 @@ fn bindgen_test_layout_Instance() {
3637
)
3738
);
3839
}
39-
impl Default for Instance {
40-
fn default() -> Self {
41-
unsafe { ::std::mem::zeroed() }
42-
}
43-
}
4440
impl ::std::fmt::Debug for Instance {
4541
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4642
write!(f, "Instance {{ val: opaque }}")

tests/expectations/tests/derive-debug-opaque.rs

+2-10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#[repr(C)]
1111
#[repr(align(4))]
12+
#[derive(Default)]
1213
pub struct Opaque {
1314
pub _bindgen_opaque_blob: [u32; 41usize],
1415
}
@@ -25,17 +26,13 @@ fn bindgen_test_layout_Opaque() {
2526
concat!("Alignment of ", stringify!(Opaque))
2627
);
2728
}
28-
impl Default for Opaque {
29-
fn default() -> Self {
30-
unsafe { ::std::mem::zeroed() }
31-
}
32-
}
3329
impl ::std::fmt::Debug for Opaque {
3430
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3531
write!(f, "Opaque {{ opaque }}")
3632
}
3733
}
3834
#[repr(C)]
35+
#[derive(Default)]
3936
pub struct OpaqueUser {
4037
pub opaque: Opaque,
4138
}
@@ -64,11 +61,6 @@ fn bindgen_test_layout_OpaqueUser() {
6461
)
6562
);
6663
}
67-
impl Default for OpaqueUser {
68-
fn default() -> Self {
69-
unsafe { ::std::mem::zeroed() }
70-
}
71-
}
7264
impl ::std::fmt::Debug for OpaqueUser {
7365
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7466
write!(f, "OpaqueUser {{ opaque: {:?} }}", self.opaque)

tests/expectations/tests/doggo-or-null.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ fn bindgen_test_layout_Null() {
5656
/// this test to make sure that opaque unions don't derive and still compile.
5757
#[repr(C)]
5858
#[repr(align(4))]
59-
#[derive(Copy, Clone)]
59+
#[derive(Default)]
6060
pub union DoggoOrNull {
6161
pub _bindgen_opaque_blob: u32,
6262
}
@@ -73,8 +73,3 @@ fn bindgen_test_layout_DoggoOrNull() {
7373
concat!("Alignment of ", stringify!(DoggoOrNull))
7474
);
7575
}
76-
impl Default for DoggoOrNull {
77-
fn default() -> Self {
78-
unsafe { ::std::mem::zeroed() }
79-
}
80-
}

tests/expectations/tests/empty-union.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,7 @@
88
)]
99

1010
#[repr(C)]
11-
#[derive(Copy, Clone)]
11+
#[derive(Default)]
1212
pub union a__bindgen_ty_1 {
1313
pub _address: u8,
1414
}
15-
impl Default for a__bindgen_ty_1 {
16-
fn default() -> Self {
17-
unsafe { ::std::mem::zeroed() }
18-
}
19-
}

tests/expectations/tests/forward_declared_opaque.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
)]
99

1010
#[repr(C)]
11-
#[derive(Copy, Clone)]
11+
#[derive(Default)]
1212
pub struct a {
1313
_unused: [u8; 0],
1414
}
1515
#[repr(C)]
16-
#[derive(Debug, Default, Copy, Clone)]
16+
#[derive(Default)]
1717
pub struct b {
1818
_unused: [u8; 0],
1919
}

tests/expectations/tests/issue-372.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ pub mod root {
9696
ai = 11,
9797
}
9898
#[repr(C)]
99+
#[derive(Default)]
99100
pub struct F {
100101
pub w: [u64; 33usize],
101102
}
@@ -117,9 +118,4 @@ pub mod root {
117118
concat!("Offset of field: ", stringify!(F), "::", stringify!(w))
118119
);
119120
}
120-
impl Default for F {
121-
fn default() -> Self {
122-
unsafe { ::std::mem::zeroed() }
123-
}
124-
}
125121
}

tests/expectations/tests/issue-544-stylo-creduce-2.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,9 @@
88
)]
99

1010
#[repr(C)]
11+
#[derive(Default)]
1112
pub struct Foo {
1213
pub member: Foo_SecondAlias,
1314
}
1415
pub type Foo_FirstAlias = [u8; 0usize];
1516
pub type Foo_SecondAlias = [u8; 0usize];
16-
impl Default for Foo {
17-
fn default() -> Self {
18-
unsafe { ::std::mem::zeroed() }
19-
}
20-
}

tests/expectations/tests/issue-569-non-type-template-params-causing-layout-test-failures.rs

-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ pub enum _bindgen_ty_1 {
1717
}
1818
pub type JS_Alias = u8;
1919
#[repr(C)]
20-
#[derive(Debug, Copy, Clone)]
2120
pub struct JS_Base {
2221
pub f: JS_Alias,
2322
}
@@ -27,7 +26,6 @@ impl Default for JS_Base {
2726
}
2827
}
2928
#[repr(C)]
30-
#[derive(Debug, Copy, Clone)]
3129
pub struct JS_AutoIdVector {
3230
pub _base: JS_Base,
3331
}

tests/expectations/tests/issue-573-layout-test-failures.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@
88
)]
99

1010
#[repr(C)]
11-
#[derive(Debug, Default, Copy, Clone)]
11+
#[derive(Default)]
1212
pub struct Outer {
1313
pub i: u8,
1414
}
1515
#[repr(C)]
16-
#[derive(Debug, Default, Copy, Clone)]
16+
#[derive(Default)]
1717
pub struct AutoIdVector {
1818
pub ar: Outer,
1919
}

tests/expectations/tests/issue-674-1.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ pub mod root {
1515
#[allow(unused_imports)]
1616
use self::super::super::root;
1717
#[repr(C)]
18-
#[derive(Debug, Default, Copy, Clone)]
18+
#[derive(Default)]
1919
pub struct Maybe {
2020
pub _address: u8,
2121
}
2222
pub type Maybe_ValueType<T> = T;
2323
}
2424
#[repr(C)]
25-
#[derive(Debug, Default, Copy, Clone)]
25+
#[derive(Default)]
2626
pub struct CapturingContentInfo {
2727
pub a: u8,
2828
}

tests/expectations/tests/issue-674-2.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ pub mod root {
1515
#[allow(unused_imports)]
1616
use self::super::super::root;
1717
#[repr(C)]
18-
#[derive(Debug, Default, Copy, Clone)]
18+
#[derive(Default)]
1919
pub struct Rooted {
2020
pub _address: u8,
2121
}
2222
pub type Rooted_ElementType<T> = T;
2323
}
2424
#[repr(C)]
25-
#[derive(Debug, Default, Copy, Clone)]
25+
#[derive(Default)]
2626
pub struct c {
2727
pub b: u8,
2828
}
@@ -45,7 +45,7 @@ pub mod root {
4545
);
4646
}
4747
#[repr(C)]
48-
#[derive(Debug, Default, Copy, Clone)]
48+
#[derive(Default)]
4949
pub struct B {
5050
pub a: root::c,
5151
}

tests/expectations/tests/issue-674-3.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ pub mod root {
1212
#[allow(unused_imports)]
1313
use self::super::root;
1414
#[repr(C)]
15-
#[derive(Debug, Default, Copy, Clone)]
15+
#[derive(Default)]
1616
pub struct nsRefPtrHashtable {
1717
pub _address: u8,
1818
}
1919
pub type nsRefPtrHashtable_UserDataType<PtrType> = *mut PtrType;
2020
#[repr(C)]
21-
#[derive(Debug, Default, Copy, Clone)]
21+
#[derive(Default)]
2222
pub struct a {
2323
pub b: u8,
2424
}
@@ -41,7 +41,7 @@ pub mod root {
4141
);
4242
}
4343
#[repr(C)]
44-
#[derive(Debug, Default, Copy, Clone)]
44+
#[derive(Default)]
4545
pub struct nsCSSValue {
4646
pub c: root::a,
4747
}

tests/expectations/tests/issue-801-opaque-sloppiness.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ pub struct A {
1414
}
1515
#[repr(C)]
1616
#[repr(align(1))]
17-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
17+
#[derive(Default)]
1818
pub struct B {
1919
pub _bindgen_opaque_blob: u8,
2020
}
@@ -36,7 +36,7 @@ extern "C" {
3636
pub static mut B_a: A;
3737
}
3838
#[repr(C)]
39-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
39+
#[derive(Default)]
4040
pub struct C {
4141
pub b: B,
4242
}

tests/expectations/tests/issue-807-opaque-types-methods-being-generated.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ fn bindgen_test_layout_SuchWow() {
6363
}
6464
#[repr(C)]
6565
#[repr(align(1))]
66-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
66+
#[derive(Default)]
6767
pub struct Opaque {
6868
pub _bindgen_opaque_blob: u8,
6969
}
@@ -105,7 +105,7 @@ extern "C" {
105105
pub static mut Opaque_MAJESTIC_AF: Doggo;
106106
}
107107
#[repr(C)]
108-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
108+
#[derive(Default)]
109109
pub struct Whitelisted {
110110
pub some_member: Opaque,
111111
}

tests/expectations/tests/layout.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
)]
99

1010
#[repr(C)]
11+
#[derive(Default)]
1112
pub struct header {
1213
pub _bindgen_opaque_blob: [u8; 16usize],
1314
}
@@ -19,8 +20,3 @@ fn bindgen_test_layout_header() {
1920
concat!("Size of: ", stringify!(header))
2021
);
2122
}
22-
impl Default for header {
23-
fn default() -> Self {
24-
unsafe { ::std::mem::zeroed() }
25-
}
26-
}

tests/expectations/tests/no-hash-opaque.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#[repr(C)]
1111
#[repr(align(4))]
12-
#[derive(Debug, Default, Copy, Clone)]
12+
#[derive(Default)]
1313
pub struct NoHash {
1414
pub _bindgen_opaque_blob: u32,
1515
}

tests/expectations/tests/no-partialeq-opaque.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#[repr(C)]
1111
#[repr(align(4))]
12-
#[derive(Debug, Default, Copy, Clone)]
12+
#[derive(Default)]
1313
pub struct NoPartialEq {
1414
pub _bindgen_opaque_blob: u32,
1515
}

tests/expectations/tests/no_copy_opaque.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#[repr(C)]
1111
#[repr(align(4))]
12-
#[derive(Debug, Default)]
12+
#[derive(Default)]
1313
pub struct NoCopy {
1414
pub _bindgen_opaque_blob: u32,
1515
}

tests/expectations/tests/non-type-params.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
pub type Array16 = u8;
1111
pub type ArrayInt4 = [u32; 4usize];
1212
#[repr(C)]
13-
#[derive(Debug, Default, Copy, Clone)]
13+
#[derive(Default)]
1414
pub struct UsesArray {
1515
pub array_char_16: [u8; 16usize],
1616
pub array_bool_8: [u8; 8usize],

tests/expectations/tests/opaque-template-inst-member-2.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
/// This is like `opaque-template-inst-member.hpp` except exercising the cases
1111
/// where we are OK to derive Debug/Hash/PartialEq.
1212
#[repr(C)]
13-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
13+
#[derive(Default)]
1414
pub struct OpaqueTemplate {
1515
pub _address: u8,
1616
}
1717
/// Should derive Debug/Hash/PartialEq.
1818
#[repr(C)]
19-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
19+
#[derive(Default)]
2020
pub struct ContainsOpaqueTemplate {
2121
pub mBlah: u32,
2222
pub mBaz: ::std::os::raw::c_int,
@@ -62,7 +62,6 @@ fn bindgen_test_layout_ContainsOpaqueTemplate() {
6262
}
6363
/// Should also derive Debug/Hash/PartialEq.
6464
#[repr(C)]
65-
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6665
pub struct InheritsOpaqueTemplate {
6766
pub _base: u8,
6867
pub wow: *mut ::std::os::raw::c_char,

0 commit comments

Comments
 (0)