1 个稳定版本
1.0.0 | 2020 年 9 月 27 日 |
---|
在 #result 中排名第 53
5KB
60 行(不包括注释)
integer-result-rs
🔢✅🚫
在 Rust 中使用标量类型来表示失败是不推荐的,但在 C 中却很常见。当从 Rust 调用 C 函数时,您必须像在 C 中那样检查表示成功或失败的返回值。此库为原始和非零整数类型添加了方法,以减轻痛苦。
现在您可以编写这样的代码 🧼
use integer_result::Ext;
unsafe { some_c_function() }
.ok_equal(0)
.map_err(|val| YourRustyErrorType::from(val)) // or somethin' ..
而不是这样的代码 🤢
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.