1 2 3 4 5 6 7 8 9 10 11 12
#![macro_use] macro_rules! impl_mergeable { ($target:ident, $($field:ident),+) => { impl Mergeable for $target { fn merge_with(&mut self, other: $target) { let $target { $($field,)+ .. } = other; $( self.$field.merge_with($field); )+ } } } }