add mut-version to macro

This commit is contained in:
numzero 2026-05-07 20:53:49 +03:00
parent 500c9def86
commit eb18c5ad24
2 changed files with 10 additions and 4 deletions

View File

@ -42,9 +42,12 @@ impl<T> OwnRef<'_, T> {
#[macro_export] #[macro_export]
macro_rules! _to_opt_own_ref { macro_rules! _to_opt_own_ref {
($var:ident) => { ($var:ident) => { $crate::_to_opt_own_ref!(# $var) };
(mut $var:ident) => { $crate::_to_opt_own_ref!(mut # $var) };
($($mut:ident)? # $var:ident) => {
let mut $var = Some($var); let mut $var = Some($var);
let $var = OwnRef::from_option(&mut $var); let $($mut)? $var = OwnRef::from_option(&mut $var);
}; };
} }

View File

@ -68,9 +68,12 @@ impl OwnRef<'_, dyn std::any::Any> {
#[macro_export] #[macro_export]
macro_rules! _to_ptr_own_ref { macro_rules! _to_ptr_own_ref {
($var:ident) => { ($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 = ManuallyDrop::new($var);
let $var = unsafe { OwnRef::from_manually_drop(&mut $var) }; let $($mut)? $var = unsafe { OwnRef::from_manually_drop(&mut $var) };
}; };
} }