#proc-macro #macro-derive #numeric #extension

macro num-derive

Numeric syntax extensions

22 releases

0.4.2 Feb 6, 2024
0.4.1 Oct 7, 2023
0.4.0 Jun 30, 2023
0.3.3 Oct 29, 2020
0.1.38 Nov 28, 2016

#1140 in Math

Download history 507450/week @ 2024-08-16 585892/week @ 2024-08-23 544044/week @ 2024-08-30 568931/week @ 2024-09-06 490335/week @ 2024-09-13 710732/week @ 2024-09-20 718197/week @ 2024-09-27 1138765/week @ 2024-10-04 1024515/week @ 2024-10-11 1093131/week @ 2024-10-18 628163/week @ 2024-10-25 583622/week @ 2024-11-01 679465/week @ 2024-11-08 802452/week @ 2024-11-15 639182/week @ 2024-11-22 546052/week @ 2024-11-29

2,770,394 downloads per month
Used in 4,971 crates (959 directly)

MIT/Apache

39KB
727 lines

num-derive

crate documentation minimum rustc 1.56 build status

Procedural macros to derive numeric traits in Rust.

Usage

Add this to your Cargo.toml:

[dependencies]
num-traits = "0.2"
num-derive = "0.4"

and this to your crate root:

#[macro_use]
extern crate num_derive;

Then you can derive traits on your own types:

#[derive(FromPrimitive, ToPrimitive)]
enum Color {
    Red,
    Blue,
    Green,
}

Optional features

  • full-syntax — Enables num-derive to handle enum discriminants represented by complex expressions. Usually can be avoided by utilizing constants, so only use this feature if namespace pollution is undesired and compile time doubling is acceptable.

Releases

Release notes are available in RELEASES.md.

Compatibility

The num-derive crate is tested for rustc 1.56 and greater.

License

Licensed under either of

at your option.

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.

Dependencies

~230–670KB
~16K SLoC