integer-result 1.0.0

Convert primitive and non-zero integer types to a Result
Documentation

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))
}