pub fn safe_unwrap_or_default(result: Result, context: &str) -> T { result.unwrap_or_else(|e| { tracing::error!("{}: {}", context, e); T::default() }) } pub fn safe_unwrap_or(result: Result, context: &str, default: T) -> T { result.unwrap_or_else(|e| { tracing::error!("{}: {}", context, e); default }) } pub fn safe_unwrap_none_or(result: Result, context: &str, value: T) -> T { match result { Ok(v) => v, Err(e) => { tracing::error!("{}: {}", context, e); value } } }