[−][src]Macro bugsalot::unwrap
Unwraps Options and Results, logging/breaking on errors, but unlike a.unwrap()
this is nonfatal and continuable.
Other differences:
- Works on booleans
- Should breakpoint directly on the line of the unwrap!
Examples
use bugsalot::unwrap; let a = true; let _ : bool = unwrap!(a, false); let _ : () = unwrap!(a, ()); let _ : () = unwrap!(a); let _ : bool = unwrap!(a, return); let a : Option<i32> = Some(42); let _ : i32 = unwrap!(a, 0); let _ : () = unwrap!(a, ()); let _ : () = unwrap!(a); let _ : i32 = unwrap!(a, return); let a : Result<i32, &'static str> = Ok(42); let _ : i32 = unwrap!(a, 0); let _ : () = unwrap!(a, ()); let _ : () = unwrap!(a); let _ : i32 = unwrap!(a, return); let a : *const i32 = &42; let _ : i32 = unsafe { *unwrap!(a, &12) }; let _ : () = unwrap!(a, ()); let _ : () = unwrap!(a); let _ : i32 = unsafe { *unwrap!(a, return) };