1个不稳定版本
0.1.0 | 2022年2月15日 |
---|
#30 在 #marker
12KB
116 行
原始类型标记特性
示例
Cargo.toml
## ...
[dependencies]
just_prim = { version = "0.1.0" }
## ...
[features]
## https://doc.rust-lang.net.cn/beta/unstable-book/language-features/marker-trait-attr.html
marker_trait_attr = ["just_prim/marker_trait_attr"]
src/main.rs
// Uncomment if you want to conditionally use the feature. Remove otherwise.
// #![cfg_attr(feature = "marker_trait_attr", feature(marker_trait_attr))]
use just_prim::Prim;
trait MyExtensionTraitForPrimTys: Prim {
// ...
}
fn main() {}
构建、运行和测试
cargo build <其他选项> --features marker_trait_attr
如果需要该功能,否则使用cargo build <其他选项>
;cargo run<其他选项> --features marker_trait_attr
如果需要该功能,否则使用cargo build <其他选项>
;cargo test <其他选项> --features marker_trait_attr
如果需要该功能,否则使用cargo test <其他选项>
;
功能
通过 marker_trait_attr
Nightly 特性,每个提供的特质都有一个 #[marker]
属性,这允许通过两个或更多“重叠”的泛型 impl
块更优地实现特质。如果没有 #[marker]
属性,则“重叠”的 impl
块将会冲突。
作者的其他类似crate
epui
- 为原始整数(原语)无符号整数:u8 对 u8,u16 对 i16 等epsi
- 为原始整数(原语)有符号整数primitive_promotion
- 为原始数值类型提供原始提升:u16 对 u8,i32 对 i16,f64 对 f32 等is_signed_trait
-IS_SIGNED
关联常数的特质max_len_base_10_as_usize
- 提供原始整数最大长度常量作为 usize 的特质min_max_traits
-MIN
和MAX
关联常数的特质- 以及其他可以在 crates.io 上找到的
许可证
根据您的选择,在 Apache License, Version 2.0 或 MIT 许可证 下获得许可。除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此 crate 中的任何贡献,将按上述方式双许可,没有任何附加条款或条件。