Skip to content

Commit 3917a83

Browse files
committed
Simplify as_mut_bytes
1 parent c59b938 commit 3917a83

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

src/as_mut_bytes.rs renamed to src/as_bytes.rs

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,27 @@
2727
use std::mem;
2828
use std::slice;
2929

30-
pub trait AsMutBytes {
30+
pub trait AsBytes {
31+
fn as_bytes(&self) -> &[u8];
3132
fn as_mut_bytes(&mut self) -> &mut [u8];
3233
}
3334

34-
macro_rules! as_mut_bytes_impl {
35-
($t:ty) => {
36-
impl AsMutBytes for $t {
37-
#[inline]
38-
fn as_mut_bytes(&mut self) -> &mut [u8] {
39-
unsafe {
40-
slice::from_raw_parts_mut(
41-
self.as_mut_ptr() as *mut u8,
42-
mem::size_of::<Self>())
43-
}
44-
}
35+
impl<T> AsBytes for [T] {
36+
#[inline]
37+
fn as_bytes(&self) -> &[u8] {
38+
unsafe {
39+
slice::from_raw_parts(
40+
self.as_ptr() as *const u8,
41+
self.len() * mem::size_of::<T>())
4542
}
4643
}
47-
}
4844

49-
as_mut_bytes_impl!([u32; 16]);
50-
as_mut_bytes_impl!([u64; 16]);
45+
#[inline]
46+
fn as_mut_bytes(&mut self) -> &mut [u8] {
47+
unsafe {
48+
slice::from_raw_parts_mut(
49+
self.as_mut_ptr() as *mut u8,
50+
self.len() * mem::size_of::<T>())
51+
}
52+
}
53+
}

src/blake2.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ macro_rules! blake2_impl {
4747
use std::mem;
4848
use std::slice;
4949

50-
use $crate::as_mut_bytes::AsMutBytes;
50+
use $crate::as_bytes::AsBytes;
5151
use $crate::bytes::{MutableByteVector, copy_memory};
5252
use $crate::constant_time_eq::constant_time_eq;
5353
use $crate::simd::{Vector, $vec};

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ extern crate constant_time_eq;
3636

3737
#[cfg(feature = "simd")] extern crate simdty;
3838

39-
mod as_mut_bytes;
39+
mod as_bytes;
4040
mod bytes;
4141
mod simd;
4242

0 commit comments

Comments
 (0)