use geo::{LineString, MultiLineString, MultiPolygon}; pub trait MergeExt { /// merge Container object fn merge(&mut self, other: &Self); /// merge container object, empty the other object fn merge_destructive(&mut self, other: &mut Self); } impl MergeExt for LineString { fn merge(&mut self, other: &Self) { self.0.append(&mut other.0.clone()); } fn merge_destructive(&mut self, other: &mut Self) { self.0.append(&mut other.0); } } impl MergeExt for MultiLineString { fn merge(&mut self, other: &Self) { self.0.append(&mut other.0.clone()); } fn merge_destructive(&mut self, other: &mut Self) { self.0.append(&mut other.0); } } impl MergeExt for MultiPolygon { fn merge(&mut self, other: &Self) { self.0.append(&mut other.0.clone()); } fn merge_destructive(&mut self, other: &mut Self) { self.0.append(&mut other.0); } }