#bounds #assert #assertions #lib #no-std #asserting

no-std assert_bound

简单创建,有助于断言类型边界

2 个版本

0.1.1 2019年11月29日
0.1.0 2019年11月29日

#1404 in 开发工具

MIT 许可证

8KB
60

assert_bound

简单的 Rust 类型断言库。

示例

use assert_bound::assert_bound;

// assert that `()` implements Debug + Ord + PartialEq<()>
assert_bound!(() => std::fmt::Debug + Ord + PartialEq<()>);

// f32/f64 doesn't implement `Eq`, so rustc will 
// fail to compile next line if it you uncomment it
// assert_bound!(0.1 => Eq);

lib.rs:

当处理迭代器/未来或其他高泛型类型时,有时需要断言某些表达式的类型实现了某些特性,甚至将其转换为 implTrait

此 crate 提供了两种目标的宏 — assert_boundas_opaque

无运行时依赖