#[quick_impl_all]
Expand description
Quickly generate common methods and trait implementations on enums or structs on all the variants or fields.
quick_impl_all
can be combined with quick_impl
in any order.
§Enum example
use quick_impl::quick_impl_all;
#[quick_impl_all(pub const is)]
enum MyEnum {
Variant1,
#[quick_impl(pub as_ref, impl From)]
Variant2(i32),
}
let a = MyEnum::Variant1;
assert!(a.is_variant1());
let mut b = MyEnum::from(42);
assert!(b.is_variant2());
§Struct example
use quick_impl::quick_impl;
#[quick_impl(pub const new)]
#[quick_impl_all(pub get = "{}", pub get_mut = "{}_mut")]
struct MyStruct {
field1: i32,
#[quick_impl(impl Into)]
field2: String,
}
let mut instance = MyStruct::new(1, "hello".to_string());
assert_eq!(*instance.field1(), 1);
instance.field2_mut().push_str(" world");
assert_eq!(&String::from(instance), "hello world");