1个不稳定版本

0.1.0 2022年2月15日

#30#marker

MIT/Apache

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 - MINMAX 关联常数的特质
  • 以及其他可以在 crates.io 上找到的

许可证

根据您的选择,在 Apache License, Version 2.0MIT 许可证 下获得许可。
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此 crate 中的任何贡献,将按上述方式双许可,没有任何附加条款或条件。

无运行时依赖

功能