Skip to content

Procedural macro to implement Display and FromStr using common settings.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

frozenlib/parse-display

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7559d3a · Mar 7, 2025
Jul 26, 2024
May 12, 2024
Mar 7, 2025
Mar 7, 2025
Mar 7, 2025
Mar 7, 2025
Apr 4, 2021
Mar 7, 2025
Mar 7, 2025
Jun 10, 2019
Jun 10, 2019
Aug 4, 2024

Repository files navigation

parse-display

Crates.io Docs.rs Actions Status

This crate provides derive macro Display and FromStr. These macros use common helper attributes to specify the format.

Install

Add this to your Cargo.toml:

[dependencies]
parse-display = "0.10.0"

Documentation

See #[derive(Display)] documentation for details.

Example

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));

License

This project is dual licensed under Apache-2.0/MIT. See the two LICENSE-* files for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

Procedural macro to implement Display and FromStr using common settings.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Languages