Expand description
§unwrap_helpers
Unwrap Macros to help Clean up code and improve production. This does include a pub use of https://github.com/Mrp1Dev/loop_unwrap to gain access to unwrap loop macros.
/// Works like .unwrap
, if it’s an Err(_) or None it calls return.
/// Will return no data or data. Can use Closures or functions that returns the parent functions return type.
§Examples
fn ret_test_fail() -> i32 {
let opt = None;
let _ = unwrap_or_return!(opt, 0);
1
}
fn ret_as_option_fail() -> Option<i32> {
let opt = None;
let _ = unwrap_or_return!(opt, Some(0));
None
}
fn test_send(x: i32) -> i32 {
x + 1
}
fn ret_fn_fail() -> i32 {
let x = 5;
let opt = None;
let _ = unwrap_or_return!(opt, test_send(x));
1
}
fn ret_closure_fail() -> i32 {
let x = 5;
let opt = None;
let _ = unwrap_or_return!(opt, || x + 1);
1
}
fn ret_closure_ret_fail() -> i32 {
let x = 5;
let opt = None;
let _ = unwrap_or_return!(opt, || -> i32 { x + 1 });
1
}
fn ret_closure_ret_fail_insert() -> i32 {
let x = 5;
let opt = None;
let _ = unwrap_or_return!(opt, |x1| x1 + 1, x);
1
}
fn test_no_return() {
let input = Option::None;
let parsed_input = unwrap_or_return!(input);
}
Macros§
- Imports loop unwrap macros into the library. Works like
.unwrap
, if it’s an Err or None, it callsbreak
on the loop. Prints an error message withprintln!()
if provided. Loop Label can be provided in any order besides the Result/Option being the first argument. If loop label is proivded, the specified loop will be break;-ed. - Imports loop unwrap macros into the library. Works only on Result enum. If the value is Err(e), breaks the loop returning Err(e). Otherwise, it unwraps and the code continues. Supports loop labels.
- Imports loop unwrap macros into the library. Works like
.unwrap
, if it’s an Err or None, it callscontinue
on the loop. Prints an error message withprintln!()
if provided. Loop Label can be provided in any order besides the Result/Option being the first argument. If loop label is proivded, the specified loop will be continued. - Imports unwrap_helpers macros into the library. Attempts to unwrap the given value expression
Traits§
- Imports loop unwrap macros into the library.