#proc-macro #display #from-str #macro-derive #enums #regex #derive

no-std parse-display

过程宏,用于使用常见设置实现 Display 和 FromStr

22 个版本

0.10.0 2024 年 8 月 4 日
0.9.1 2024 年 5 月 30 日
0.9.0 2024 年 2 月 4 日
0.8.2 2023 年 7 月 16 日
0.1.0 2019 年 6 月 15 日

#74 in Rust 模式

Download history 26096/week @ 2024-05-04 28281/week @ 2024-05-11 28861/week @ 2024-05-18 27112/week @ 2024-05-25 26763/week @ 2024-06-01 25823/week @ 2024-06-08 31209/week @ 2024-06-15 37694/week @ 2024-06-22 36352/week @ 2024-06-29 44786/week @ 2024-07-06 49252/week @ 2024-07-13 46055/week @ 2024-07-20 45674/week @ 2024-07-27 47785/week @ 2024-08-03 58515/week @ 2024-08-10 46943/week @ 2024-08-17

206,384 每月下载量
用于 198 个 crate (73 直接)

MIT/Apache

48KB
509

parse-display

Crates.io Docs.rs Actions Status

此 crate 提供了 derive 宏 DisplayFromStr。这些宏使用常见的辅助属性来指定格式。

安装

将此添加到您的 Cargo.toml

[dependencies]
parse-display = "0.10.0"

文档

有关详细信息,请参阅 #[derive(Display)] 文档。

示例

use parse_display::{Display, FromStr};

#[derive(Display, FromStr, PartialEq, Debug)]
#[display("{a}-{b}")]
struct X {
  a: u32,
  b: u32,
}
assert_eq!(X { a:10, b:20 }.to_string(), "10-20");
assert_eq!("10-20".parse(), Ok(X { a:10, b:20 }));


#[derive(Display, FromStr, PartialEq, Debug)]
#[display(style = "snake_case")]
enum Y {
  VarA,
  VarB,
}
assert_eq!(Y::VarA.to_string(), "var_a");
assert_eq!("var_a".parse(), Ok(Y::VarA));

许可证

本项目双许可 Apache-2.0/MIT。有关详细信息,请参阅两个 LICENSE-* 文件。

贡献

除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在本作品中的任何贡献,将按上述方式双许可,无需任何额外条款或条件。

依赖关系

~2.4–4MB
~71K SLoC