#enum #derive #display #fizz #fizzbuzz #buzz

macro enum-display-derive

Display trait's custom derive for simple enums

2 releases

Uses old Rust 2015

0.1.1 Feb 27, 2021
0.1.0 Feb 13, 2017

#171 in Procedural macros

Download history 4416/week @ 2022-10-18 5469/week @ 2022-10-25 4486/week @ 2022-11-01 4021/week @ 2022-11-08 5234/week @ 2022-11-15 3902/week @ 2022-11-22 4103/week @ 2022-11-29 4901/week @ 2022-12-06 4641/week @ 2022-12-13 4253/week @ 2022-12-20 2339/week @ 2022-12-27 3893/week @ 2023-01-03 4281/week @ 2023-01-10 7804/week @ 2023-01-17 8228/week @ 2023-01-24 7683/week @ 2023-01-31

28,964 downloads per month
Used in 52 crates (21 directly)

MIT/Apache

8KB
67 lines

Derive Display trait for enums

Build Status crates.io

Documentation

This crate can derive a Display implementation for very simple enums, like the following one:

#[macro_use]
extern crate enum_display_derive;

use std::fmt::Display;

#[derive(Display)]
enum FizzBuzz {
   Fizz,
   Buzz,
   FizzBuzz,
   Number(u64),
}

fn fb(i: u64) -> FizzBuzz {
   match (i % 3, i % 5) {
       (0, 0) => FizzBuzz::FizzBuzz,
       (0, _) => FizzBuzz::Fizz,
       (_, 0) => FizzBuzz::Buzz,
       (_, _) => FizzBuzz::Number(i),
   }
}

fn main() {
   for i in 0..100 {
       println!("{}", fb(i));
   }
}

You should see the following output:

FizzBuzz
1
2
Fizz
4
Buzz
Fizz
7
...

License

Licensed under either of

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

~195–590KB
~14K SLoC