2个稳定版本
1.0.1 | 2024年5月15日 |
---|
在Rust模式中排名#511
每月下载量:21次
9KB
106 行
fallback-if
在初始结果被认为是失败且谓词评估为真时,回退到替代方案。
示例
fn main() {
struct Config {
fallback_to_local: bool,
}
#[derive(Debug, PartialEq)]
struct Manifest;
impl Manifest {
pub fn try_fetch_remote() -> Result<Self, ()> {
// Oh noes! failed to fetch manifest remotely
Err(())
}
pub fn try_fetch_local() -> Result<Self, ()> {
// Yesss! Fetched locally!
Ok(Manifest)
}
}
let config = Config { fallback_to_local: true };
let result = Manifest::try_fetch_remote();
let outcome = result.fallback_if(config.fallback_to_local, || {
Manifest::try_fetch_local()
});
assert_eq!(outcome, Ok(Manifest))
}
许可证
许可协议如下
- Apache许可证2.0版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
供您选择。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据Apache-2.0许可证定义,应按上述方式许可,不附加任何额外条款或条件。