Skip to content

Commit 186501b

Browse files
committed
Update tests without Copy/Clone/Eq*/Ord* derives for opaque types
1 parent f705ccf commit 186501b

26 files changed

+38
-62
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/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-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/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,

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

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

1010
#[repr(C)]
11-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
11+
#[derive(Default)]
1212
pub struct OpaqueTemplate {
1313
pub _address: u8,
1414
}
@@ -63,11 +63,6 @@ impl Default for ContainsOpaqueTemplate {
6363
unsafe { ::std::mem::zeroed() }
6464
}
6565
}
66-
impl ::std::cmp::PartialEq for ContainsOpaqueTemplate {
67-
fn eq(&self, other: &ContainsOpaqueTemplate) -> bool {
68-
&self.mBlah[..] == &other.mBlah[..] && self.mBaz == other.mBaz
69-
}
70-
}
7166
/// This should not end up deriving Debug/Hash either, for similar reasons, although
7267
/// we're exercising base member edges now.
7368
#[repr(C)]
@@ -106,8 +101,3 @@ impl Default for InheritsOpaqueTemplate {
106101
unsafe { ::std::mem::zeroed() }
107102
}
108103
}
109-
impl ::std::cmp::PartialEq for InheritsOpaqueTemplate {
110-
fn eq(&self, other: &InheritsOpaqueTemplate) -> bool {
111-
&self._base[..] == &other._base[..] && self.wow == other.wow
112-
}
113-
}

tests/expectations/tests/opaque-template-instantiation-namespaced.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ pub mod root {
123123
}
124124
}
125125
#[repr(C)]
126-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
126+
#[derive(Default)]
127127
pub struct ContainsOpaqueInstantiation {
128128
pub opaque: u32,
129129
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ impl Default for ContainsInstantiation {
5555
}
5656
}
5757
#[repr(C)]
58-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
58+
#[derive(Default)]
5959
pub struct ContainsOpaqueInstantiation {
6060
pub opaque: u32,
6161
}

tests/expectations/tests/opaque-tracing.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ extern "C" {
1313
}
1414
#[repr(C)]
1515
#[repr(align(4))]
16-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
16+
#[derive(Default)]
1717
pub struct Container {
1818
pub _bindgen_opaque_blob: [u32; 2usize],
1919
}

tests/expectations/tests/opaque_in_struct.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
/// <div rustbindgen opaque>
1111
#[repr(C)]
1212
#[repr(align(4))]
13-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
13+
#[derive(Default)]
1414
pub struct opaque {
1515
pub _bindgen_opaque_blob: u32,
1616
}
@@ -28,7 +28,7 @@ fn bindgen_test_layout_opaque() {
2828
);
2929
}
3030
#[repr(C)]
31-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
31+
#[derive(Default)]
3232
pub struct container {
3333
pub contained: opaque,
3434
}

tests/expectations/tests/opaque_pointer.rs

+2-3
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, Hash, PartialEq, Eq)]
13+
#[derive(Default)]
1414
pub struct OtherOpaque {
1515
pub _bindgen_opaque_blob: u32,
1616
}
@@ -29,12 +29,11 @@ fn bindgen_test_layout_OtherOpaque() {
2929
}
3030
/// <div rustbindgen opaque></div>
3131
#[repr(C)]
32-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
32+
#[derive(Default)]
3333
pub struct Opaque {
3434
pub _address: u8,
3535
}
3636
#[repr(C)]
37-
#[derive(Debug, Copy, Clone, Hash, PartialEq)]
3837
pub struct WithOpaquePtr {
3938
pub whatever: *mut u8,
4039
pub other: u32,

tests/expectations/tests/size_t_template.rs

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

1010
#[repr(C)]
11-
#[derive(Debug, Default, Copy, Clone)]
11+
#[derive(Default)]
1212
pub struct C {
1313
pub arr: [u32; 3usize],
1414
}

tests/expectations/tests/template.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -358,12 +358,12 @@ impl Default for PODButContainsDtor {
358358
}
359359
/// <div rustbindgen opaque>
360360
#[repr(C)]
361-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
361+
#[derive(Default)]
362362
pub struct Opaque {
363363
pub _address: u8,
364364
}
365365
#[repr(C)]
366-
#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
366+
#[derive(Default)]
367367
pub struct POD {
368368
pub opaque_member: u32,
369369
}

tests/expectations/tests/templatized-bitfield.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
/// be, so we cannot allocate bitfield units. The best thing we can do is make
1212
/// the struct opaque.
1313
#[repr(C)]
14-
#[derive(Debug, Default, Copy, Clone)]
14+
#[derive(Default)]
1515
pub struct TemplatizedBitfield {
1616
pub _address: u8,
1717
}

0 commit comments

Comments
 (0)