diff --git a/timely/src/progress/frontier.rs b/timely/src/progress/frontier.rs index dc9b6da8e..ecba92310 100644 --- a/timely/src/progress/frontier.rs +++ b/timely/src/progress/frontier.rs @@ -13,7 +13,7 @@ use crate::order::PartialOrder; /// Two antichains are equal if the contain the same set of elements, even if in different orders. /// This can make equality testing quadratic, though linear in the common case that the sequences /// are identical. -#[derive(Clone, Debug, Default, Abomonation, Serialize, Deserialize)] +#[derive(Debug, Default, Abomonation, Serialize, Deserialize)] pub struct Antichain { elements: Vec } @@ -218,6 +218,15 @@ impl PartialOrder for Antichain { } } +impl Clone for Antichain { + fn clone(&self) -> Self { + Antichain { elements: self.elements.clone() } + } + fn clone_from(&mut self, source: &Self) { + self.elements.clone_from(&source.elements) + } +} + impl From> for Antichain { fn from(vec: Vec) -> Self { // TODO: We could reuse `vec` with some care.