diff --git a/zed/src/editor/buffer.rs b/zed/src/editor/buffer.rs index 82e6818bfc79da69a9595b092cfbd2b9a68a926d..fe43bf2e67baa7cb6809d8d1d38ca0316d297997 100644 --- a/zed/src/editor/buffer.rs +++ b/zed/src/editor/buffer.rs @@ -2128,17 +2128,6 @@ impl<'a> sum_tree::SeekDimension<'a, FragmentSummary> for VersionedOffset { } } -impl<'a, T, U> sum_tree::Dimension<'a, FragmentSummary> for (T, U) -where - T: sum_tree::Dimension<'a, FragmentSummary>, - U: sum_tree::Dimension<'a, FragmentSummary>, -{ - fn add_summary(&mut self, summary: &'a FragmentSummary, cx: &Option) { - self.0.add_summary(summary, cx); - self.1.add_summary(summary, cx); - } -} - impl Operation { fn replica_id(&self) -> ReplicaId { self.lamport_timestamp().replica_id diff --git a/zed/src/sum_tree.rs b/zed/src/sum_tree.rs index 35b91833761027d2edd71f089c7ad1e5057ad28f..48338d4a57f281ef763677354999c899a776d724 100644 --- a/zed/src/sum_tree.rs +++ b/zed/src/sum_tree.rs @@ -36,6 +36,18 @@ impl<'a, T: Summary> Dimension<'a, T> for () { fn add_summary(&mut self, _: &'a T, _: &T::Context) {} } +impl<'a, S, D1, D2> Dimension<'a, S> for (D1, D2) +where + S: Summary, + D1: Dimension<'a, S>, + D2: Dimension<'a, S>, +{ + fn add_summary(&mut self, summary: &'a S, cx: &S::Context) { + self.0.add_summary(summary, cx); + self.1.add_summary(summary, cx); + } +} + pub trait SeekDimension<'a, T: Summary>: Dimension<'a, T> { fn cmp(&self, other: &Self, cx: &T::Context) -> Ordering; }