diff --git a/src/ptr.rs b/src/ptr.rs index 26f4f3f..2f6d143 100644 --- a/src/ptr.rs +++ b/src/ptr.rs @@ -92,14 +92,19 @@ impl OwnRef<'_, dyn Any> { } } +#[doc(hidden)] +pub mod _refs { + pub use std::mem::ManuallyDrop; +} + #[macro_export] macro_rules! _to_ptr_own_ref { ($var:ident) => { $crate::_to_ptr_own_ref!(# $var) }; (mut $var:ident) => { $crate::_to_ptr_own_ref!(mut # $var) }; ($($mut:ident)? # $var:ident) => { - let mut $var = ManuallyDrop::new($var); - let $($mut)? $var = unsafe { OwnRef::from_manually_drop(&mut $var) }; + let mut $var = $crate::ptr::_refs::ManuallyDrop::new($var); + let $($mut)? $var = unsafe { $crate::ptr::OwnRef::from_manually_drop(&mut $var) }; }; }