6 releases (3 breaking)
Uses old Rust 2015
0.4.1 | Apr 10, 2018 |
---|---|
0.4.0 |
|
0.3.1 | Mar 13, 2018 |
0.2.0 | Apr 26, 2017 |
0.1.1 | Dec 30, 2016 |
#1882 in Rust patterns
486 downloads per month
9KB
133 lines
safe_unwrap
The safe_unwrap
macros allows unwrapping and annotating that the unwrap
will never fail.
An example:
#[macro_use]
extern crate safe_unwrap;
fn main() {
let res = Some(42);
// we know that unwrapping res will never fail, so it is safe to call unwrap
let val = safe_unwrap!("is constant value", res);
assert_eq!(val, 42);
}
In release builds, safe_unwrap!(expr)
is equivalent to expr.unwrap()
;
in debug builds, expect()
will be called with a message indicating that
the assumed invariant has been violated.
The crate does not require std
.