integer-result

Crates.iointeger-result
lib.rsinteger-result
version1.0.0
sourcesrc
created_at2020-09-27 21:03:33.668806
updated_at2020-09-27 21:03:33.668806
descriptionConvert primitive and non-zero integer types to a Result
homepage
repositoryhttps://github.com/wasaylor/integer-result-rs
max_upload_size
id293529
size4,332
(wasaylor)

documentation

README

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))
}
Commit count: 3

cargo fmt