From 08c5bbd3113bf3eabdd4711b166ea8ad0fa1825a Mon Sep 17 00:00:00 2001 From: numzero Date: Thu, 7 May 2026 18:59:35 +0300 Subject: [PATCH] return Result from OwnRef::take --- src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index fff84a5..aca9ed2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -47,13 +47,13 @@ impl OwnRef<'_, T> { } impl OwnRef<'_, dyn std::any::Any> { - pub fn take(mut self) -> Option { + pub fn take(mut self) -> Result { if !self.is::() { - return None; + return Err(self); } let p = self.0.take().unwrap(); let p = p.cast::(); - Some(unsafe { p.read() }) + Ok(unsafe { p.read() }) } }