Diffstat (limited to 'src/any/indirect.rs')
-rw-r--r--src/any/indirect.rs30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/any/indirect.rs b/src/any/indirect.rs
index ae70ef3..ffd3b78 100644
--- a/src/any/indirect.rs
+++ b/src/any/indirect.rs
@@ -32,7 +32,9 @@ pub(super) mod sealed {
/// `value` must have been created by `Self::into_raw`.
/// This function must not be called twice for the same `value`.
/// The type `T` must be the one given to `Self::into_raw`.
- unsafe fn from_raw<T: ?Sized + 'a>(value: MaybeUninit<[u8; INDIRECT_SIZE]>) -> Self::ForT<T>;
+ unsafe fn from_raw<T: ?Sized + 'a>(
+ value: MaybeUninit<[u8; INDIRECT_SIZE]>,
+ ) -> Self::ForT<T>;
}
/// An opaque set of bytes the size of a fat pointer.
@@ -42,7 +44,7 @@ pub(super) mod sealed {
pub struct RawIndirect<'a, I> {
indirect: MaybeUninit<[u8; INDIRECT_SIZE]>,
_lifetime: Invariant<'a>,
- _generic: Marker<I>
+ _generic: Marker<I>,
}
impl<'a, I: Indirect<'a>> RawIndirect<'a, I> {
@@ -50,7 +52,7 @@ pub(super) mod sealed {
Self {
indirect: I::into_raw(indirect),
_lifetime: Default::default(),
- _generic: Default::default()
+ _generic: Default::default(),
}
}
@@ -62,9 +64,7 @@ pub(super) mod sealed {
// this type is not clone or copy.
// The caller makes sure that the T is the same.
// Also the lifetime 'a must be the same because Self is invariant over it.
- unsafe {
- I::from_raw(self.indirect)
- }
+ unsafe { I::from_raw(self.indirect) }
}
}
@@ -76,20 +76,20 @@ pub(super) mod sealed {
fn run(&self);
}
- const _: () =
- assert!(core::mem::size_of::<&dyn Helper>() <= core::mem::size_of::<RawIndirect<'_, Ref>>());
+ const _: () = assert!(
+ core::mem::size_of::<&dyn Helper>() <= core::mem::size_of::<RawIndirect<'_, Ref>>()
+ );
// Borrow doesn't need to be dropped.
- const _: () =
- assert!(!core::mem::needs_drop::<&i32>());
+ const _: () = assert!(!core::mem::needs_drop::<&i32>());
const _: () = assert!(
- core::mem::size_of::<&mut dyn Helper>() <= core::mem::size_of::<sealed::RawIndirect<'_, Mut>>()
+ core::mem::size_of::<&mut dyn Helper>()
+ <= core::mem::size_of::<sealed::RawIndirect<'_, Mut>>()
);
// Mutable borrow doesn't need to be dropped.
- const _: () =
- assert!(!core::mem::needs_drop::<&mut i32>());
+ const _: () = assert!(!core::mem::needs_drop::<&mut i32>());
impl<'a> Sealed<'a> for Ref {
fn into_raw<T: ?Sized + 'a>(value: Self::ForT<T>) -> MaybeUninit<[u8; INDIRECT_SIZE]> {
@@ -171,7 +171,7 @@ mod test {
let x = 42;
let y: &i32 = &x;
let z = RawIndirect::<Ref>::new(y);
-
+
// SAFETY: Same type as y which we made it from.
let w: &i32 = unsafe { z.into_inner() };
@@ -231,7 +231,7 @@ mod test {
// SAFETY: Same type as y which we made it from.
let w: &mut dyn AddOne = unsafe { z.into_inner() };
-
+
w.add_one();
assert_eq!(x, 43);