File tree 2 files changed +18
-2
lines changed
2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change 1
1
use super :: { mask_impl, Mask , MaskElement } ;
2
2
use crate :: simd:: { LaneCount , SupportedLaneCount } ;
3
+ use core:: borrow:: { Borrow , BorrowMut } ;
3
4
4
5
mod sealed {
5
6
pub trait Sealed { }
@@ -32,7 +33,15 @@ pub trait ToBitMask: Sealed {
32
33
/// Each bit of the bitmask corresponds to a mask lane, starting with the LSB of the first byte.
33
34
pub trait ToBitMaskArray : Sealed {
34
35
/// The bitmask array.
35
- type BitMaskArray ;
36
+ type BitMaskArray : Copy
37
+ + Unpin
38
+ + Send
39
+ + Sync
40
+ + AsRef < [ u8 ] >
41
+ + AsMut < [ u8 ] >
42
+ + Borrow < [ u8 ] >
43
+ + BorrowMut < [ u8 ] >
44
+ + ' static ;
36
45
37
46
/// Converts a mask to a bitmask.
38
47
fn to_bitmask_array ( self ) -> Self :: BitMaskArray ;
Original file line number Diff line number Diff line change @@ -10,7 +10,14 @@ use sealed::Sealed;
10
10
/// Convert SIMD vectors to vectors of bytes
11
11
pub trait ToBytes : Sealed {
12
12
/// This type, reinterpreted as bytes.
13
- type Bytes ;
13
+ type Bytes : Copy
14
+ + Unpin
15
+ + Send
16
+ + Sync
17
+ + AsRef < [ u8 ] >
18
+ + AsMut < [ u8 ] >
19
+ + SimdUint < Scalar = u8 >
20
+ + ' static ;
14
21
15
22
/// Return the memory representation of this integer as a byte array in native byte
16
23
/// order.
You can’t perform that action at this time.
0 commit comments