2 个不稳定版本
0.1.0 | 2022年6月16日 |
---|---|
0.0.0 | 2022年6月15日 |
#2139 在 Rust 模式
9KB
hazmat
Rust 库
在 Rust 包中处理危险品的一组辅助工具。
#[hazmat::套装]
是否需要将内部 trait 公开供下游用户实现,但又不想让它在你的包外可用?给这个 trait 添加 #[hazmat::suit]
属性,它就会变成“仅实现”。
#[hazmat::suit]
pub trait LowLevel {
fn low_level(self) -> bool;
}
struct DownstreamType;
#[hazmat::suit]
impl LowLevel for DownstreamType {
fn low_level(self, other: Self) -> bool {
true
}
}
fn use_low_level() {
let a = DownstreamType;
let b = DownstreamType;
// This won't compile outside of the crate in which the trait is defined.
assert!(a.low_level(b, LowLevelCap));
}
许可协议
许可协议为以下之一:
- Apache 许可协议 2.0 版本 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可协议定义,您提交给作品中的任何有意贡献都将按上述方式双许可,而无需任何额外的条款或条件。
依赖关系
~1.5MB
~34K SLoC