1 stable release
1.0.0 | Sep 27, 2020 |
---|
#50 in #result
5KB
60 lines
integer-result-rs
๐ขโ ๐ซ
Using scalar types to indicate failure in Rust is discouraged, yet not uncommon in C. When calling C functions from Rust, you have to check return values that indicate success or failure like you would in C. This library adds methods to the primitive and non-zero integer types to ease the pain.
Now you can write this ๐งผ
use integer_result::Ext;
unsafe { some_c_function() }
.ok_equal(0)
.map_err(|val| YourRustyErrorType::from(val)) // or somethin' ..
Rather than this ๐คข
let val = unsafe { some_c_function() };
if val == 0 {
Ok(())
} else {
Err(YourRustyErrorType::from(val))
}
lib.rs
:
A Rust library for converting the primitive and non-zero integer types to a Result
through comparison.