Skip to content

Commit 9c2cc95

Browse files
Wallacolooemilio
authored andcommitted
Remove the parameter bounds for __BindgenBitfieldUnit::new
This will enable `new` to be changed to a `const fn` in a future patch: `const fn`s do not support trait bounds.
1 parent 12b41ce commit 9c2cc95

30 files changed

+208
-236
lines changed

src/codegen/bitfield_unit.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
#[repr(C)]
22
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
33
pub struct __BindgenBitfieldUnit<Storage, Align>
4-
where
5-
Storage: AsRef<[u8]> + AsMut<[u8]>,
64
{
75
storage: Storage,
86
align: [Align; 0],
97
}
108

119
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
12-
where
13-
Storage: AsRef<[u8]> + AsMut<[u8]>,
1410
{
1511
#[inline]
1612
pub fn new(storage: Storage) -> Self {
@@ -19,7 +15,12 @@ where
1915
align: [],
2016
}
2117
}
18+
}
2219

20+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
21+
where
22+
Storage: AsRef<[u8]> + AsMut<[u8]>,
23+
{
2324
#[inline]
2425
pub fn get_bit(&self, index: usize) -> bool {
2526
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/bitfield-32bit-overflow.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/bitfield-large.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/bitfield-method-same-name.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/bitfield_align.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/bitfield_align_2.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/bitfield_method_mangling.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/derive-bitfield-method-same-name.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/derive-debug-bitfield-core.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,20 @@ extern crate core;
1111

1212
#[repr(C)]
1313
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
14-
pub struct __BindgenBitfieldUnit<Storage, Align>
15-
where
16-
Storage: AsRef<[u8]> + AsMut<[u8]>,
17-
{
14+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1815
storage: Storage,
1916
align: [Align; 0],
2017
}
21-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
22-
where
23-
Storage: AsRef<[u8]> + AsMut<[u8]>,
24-
{
18+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2519
#[inline]
2620
pub fn new(storage: Storage) -> Self {
2721
Self { storage, align: [] }
2822
}
23+
}
24+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
25+
where
26+
Storage: AsRef<[u8]> + AsMut<[u8]>,
27+
{
2928
#[inline]
3029
pub fn get_bit(&self, index: usize) -> bool {
3130
debug_assert!(index / 8 < self.storage.as_ref().len());

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

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/derive-partialeq-bitfield.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/divide-by-zero-in-struct-layout.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

tests/expectations/tests/issue-1034.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,20 @@
99

1010
#[repr(C)]
1111
#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
12-
pub struct __BindgenBitfieldUnit<Storage, Align>
13-
where
14-
Storage: AsRef<[u8]> + AsMut<[u8]>,
15-
{
12+
pub struct __BindgenBitfieldUnit<Storage, Align> {
1613
storage: Storage,
1714
align: [Align; 0],
1815
}
19-
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
20-
where
21-
Storage: AsRef<[u8]> + AsMut<[u8]>,
22-
{
16+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
2317
#[inline]
2418
pub fn new(storage: Storage) -> Self {
2519
Self { storage, align: [] }
2620
}
21+
}
22+
impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
23+
where
24+
Storage: AsRef<[u8]> + AsMut<[u8]>,
25+
{
2726
#[inline]
2827
pub fn get_bit(&self, index: usize) -> bool {
2928
debug_assert!(index / 8 < self.storage.as_ref().len());

0 commit comments

Comments
 (0)