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.