5 releases (2 stable)
1.1.0 | Jul 28, 2023 |
---|---|
1.0.0 | Jul 27, 2023 |
0.1.2 | Mar 27, 2023 |
0.1.1 | Mar 27, 2023 |
0.1.0 | Mar 27, 2023 |
#1342 in Rust patterns
690 downloads per month
6KB
67 lines
Derive Name
Derive macro to get the name of a struct, enum or enum variant.
Name
use derive_name::Name;
#[derive(Name)]
struct Alice;
#[derive(Name)]
enum Bob {}
assert_eq!(Alice::name(), "Alice");
assert_eq!(Bob::name(), "Bob");
Named
use derive_name::Named;
#[derive(derive_name::Name)]
struct Alice;
#[derive(derive_name::Name)]
enum Bob {
Variant
}
let her = Alice {};
let his = Bob::Variant;
assert_eq!(her.name(), "Alice");
assert_eq!(his.name(), "Bob");
VariantName
use derive_name::VariantName;
#[derive(VariantName)]
enum Alice {
Variant
}
assert_eq!(Alice::Variant.name(), "Variant");
Contributing
If you think you found a bug: open a issue. Feature request are also welcome.
License
This library is distributed under the terms of the ISC License.
Find an easy explanation on choosealicense.com/licenses/isc.
Dependencies
~285–740KB
~18K SLoC