Skip to content

Commit 45c874d

Browse files
authored
Merge pull request #55 from strake/transmute
redefine `transmute` to avert errors when compiler can't prove equal sizes
2 parents 50541a0 + a799eec commit 45c874d

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/lib.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ use core::{mem, ptr, slice};
5353

5454
use core::marker::PhantomData;
5555
use core::mem::ManuallyDrop;
56-
pub use core::mem::transmute;
5756
use core::ops::{Deref, DerefMut};
5857

5958
use typenum::bit::{B0, B1};
@@ -440,6 +439,13 @@ where
440439
}
441440
}
442441

442+
#[inline]
443+
pub unsafe fn transmute<A, B>(a: A) -> B {
444+
let b = ::core::ptr::read(&a as *const A as *const B);
445+
::core::mem::forget(a);
446+
b
447+
}
448+
443449
#[cfg(test)]
444450
mod test {
445451
// Compile with:

0 commit comments

Comments
 (0)