#derive #target #set #failing #try-from #type #derive-debug

tryfromfail

为一系列目标类型推导出失败的 TryFrom

1 个不稳定版本

使用旧的Rust 2015

0.1.0 2018年4月20日

#15 in #try-from

MIT 许可证

5KB
51

tryfromfail

Latest Version Documentation

为一系列目标类型定制失败的 TryFrom 实现。

返回原始值作为 Err(value)

示例

#[macro_use]
extern crate tryfromfail;

use std::convert::TryInto;

#[derive(Debug, PartialEq, FailingTryFrom)]
#[FailingTryFrom(OtherType)]
struct SomeType {}

#[derive(Debug, PartialEq)]
struct OtherType {}

#[test]
fn works() {
    let val = OtherType {};
    let failed_try_from: Result<SomeType, OtherType> = val.try_into();
    assert_eq!(failed_try_from, Err(OtherType {}));
}

依赖

~2MB
~47K SLoC