Derive macro for set_field
see set_field
Example
```rust
use set_field::SetField;
[derive(SetField)]
struct Foo {
a: i32,
b: Option,
c: i32,
}
fn test() {
let mut t = Foo { a: 777, b: None, c: 0 };
// return true on success:
asserteq!(t.setfield("a", 888), true);
// return true on success:
asserteq!(t.setfield("b", Some(true)), true);
asserteq!(t.a, 888);
asserteq!(t.b, Some(true));
// return false on nonexistent field:
asserteq!(t.setfield("d", 0), false);
// return false on wrong type:
asserteq!(t.setfield("b", 0), false);
// won't compile:
// asserteq!(t.setfield("a", 0.0), false);
}
```