| Crates.io | integer-result |
| lib.rs | integer-result |
| version | 1.0.0 |
| created_at | 2020-09-27 21:03:33.668806+00 |
| updated_at | 2020-09-27 21:03:33.668806+00 |
| description | Convert primitive and non-zero integer types to a Result |
| homepage | |
| repository | https://github.com/wasaylor/integer-result-rs |
| max_upload_size | |
| id | 293529 |
| size | 4,332 |
๐ขโ ๐ซ
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))
}