Trait OptionBug

Source
pub trait OptionBug<T> {
    // Required methods
    fn bug(self) -> Result<T, Bug>;
    fn bug_force(self) -> Result<T, Bug>;
}
Expand description

To use this trait on Option import the prelude use explicit_error::prelude::*

Required Methods§

Source

fn bug(self) -> Result<T, Bug>

Convert an Option::None into a Result::Err wrapping a Bug

fn foo() -> Result<(), Error> {
    let option: Option<u8> = None;
    option.bug().with_context("Help debugging")?;
}
Source

fn bug_force(self) -> Result<T, Bug>

Convert an Option::None into a Result::Err wrapping a Bug forcing backtrace capture

fn foo() -> Result<(), Error> {
    let option: Option<u8> = None;
    option.bug_force().with_context("Help debugging")?;
}

Implementations on Foreign Types§

Source§

impl<T> OptionBug<T> for Option<T>

Source§

fn bug(self) -> Result<T, Bug>

Source§

fn bug_force(self) -> Result<T, Bug>

Implementors§