use super::Result; /// Inspect Result values with release-mode elision. pub trait DebugInspect { /// Inspects an Err contained value in debug-mode. In release-mode closure F /// is elided. #[must_use] fn debug_inspect_err(self, f: F) -> Self; /// Inspects an Ok contained value in debug-mode. In release-mode closure F /// is elided. #[must_use] fn debug_inspect(self, f: F) -> Self; } #[cfg(debug_assertions)] impl DebugInspect for Result { #[inline] fn debug_inspect(self, f: F) -> Self where F: FnOnce(&T), { self.inspect(f) } #[inline] fn debug_inspect_err(self, f: F) -> Self where F: FnOnce(&E), { self.inspect_err(f) } } #[cfg(not(debug_assertions))] impl DebugInspect for Result { #[inline] fn debug_inspect(self, _: F) -> Self where F: FnOnce(&T), { self } #[inline] fn debug_inspect_err(self, _: F) -> Self where F: FnOnce(&E), { self } }