Rust SmartDefault
Custom derive for automatically implementing the Default
trait with customized default values:
extern crate smart_default;
assert!;
Requires Rust 1.30+ (for non-string values in attributes)
Custom derive for automatically implementing the Default
trait with customized default values:
#[macro_use]
extern crate smart_default;
#[derive(SmartDefault)]
enum Foo {
Bar,
#[default]
Baz {
#[default = 12]
a: i32,
b: i32,
#[default(Some(Default::default()))]
c: Option<i32>
},
Qux(i32),
}
assert!(Foo::default() == Foo::Baz { a: 12, b: 0, c: Some(0) });
Requires Rust 1.30+ (for non-string values in attributes)