use std::sync::Arc; pub trait IntoOptionArc { fn into_option_arc(self) -> Option>; } impl IntoOptionArc for T { fn into_option_arc(self) -> Option> { Some(Arc::new(self)) } } impl IntoOptionArc for Arc { fn into_option_arc(self) -> Option { Some(self) } } impl IntoOptionArc for Option> { fn into_option_arc(self) -> Self { self } }