diff --git a/src/operators/consolidate.rs b/src/operators/consolidate.rs index d21f08c2c..5339a54aa 100644 --- a/src/operators/consolidate.rs +++ b/src/operators/consolidate.rs @@ -51,15 +51,16 @@ where /// As `consolidate` but with the ability to name the operator and specify the trace type. pub fn consolidate_named(&self, name: &str) -> Self where - Tr: for<'a> crate::trace::Trace=&'a D,Val<'a>=&'a (),Time=G::Timestamp,Diff=R>+'static, + Tr: crate::trace::Trace+'static, Tr::Batch: crate::trace::Batch, Tr::Batcher: Batcher, Tr::Builder: Builder, { use crate::operators::arrange::arrangement::Arrange; + use crate::trace::cursor::MyTrait; self.map(|k| (k, ())) .arrange_named::(name) - .as_collection(|d: &D, _| d.clone()) + .as_collection(|d, _| d.into_owned()) } /// Aggregates the weights of equal records. diff --git a/src/trace/implementations/mod.rs b/src/trace/implementations/mod.rs index f908df3a6..7fc541a50 100644 --- a/src/trace/implementations/mod.rs +++ b/src/trace/implementations/mod.rs @@ -108,9 +108,6 @@ impl Layout for Vector where U::Key: 'static, U::Val: 'static, -// where -// U::Key: ToOwned + Sized + Clone + 'static, -// U::Val: ToOwned + Sized + Clone + 'static, { type Target = U; type KeyContainer = Vec; @@ -188,37 +185,6 @@ where type UpdContainer = Vec<(T, D)>; } - -// /// A container that can retain/discard from some offset onward. -// pub trait RetainFrom { -// /// Retains elements from an index onwards that satisfy a predicate. -// fn retain_frombool>(&mut self, index: usize, predicate: P); -// } - -// impl RetainFrom for Vec { -// fn retain_frombool>(&mut self, index: usize, mut predicate: P) { -// let mut write_position = index; -// for position in index .. self.len() { -// if predicate(position, &self[position]) { -// self.swap(position, write_position); -// write_position += 1; -// } -// } -// self.truncate(write_position); -// } -// } - -// impl RetainFrom for TimelyStack { -// fn retain_frombool>(&mut self, index: usize, mut predicate: P) { -// let mut position = index; -// self.retain_from(index, |item| { -// let result = predicate(position, item); -// position += 1; -// result -// }) -// } -// } - use std::convert::TryInto; use abomonation_derive::Abomonation; diff --git a/src/trace/implementations/ord_neu.rs b/src/trace/implementations/ord_neu.rs index 2b615c862..ae8ff69bd 100644 --- a/src/trace/implementations/ord_neu.rs +++ b/src/trace/implementations/ord_neu.rs @@ -17,8 +17,8 @@ use crate::trace::rc_blanket_impls::RcBuilder; use super::{Update, Layout, Vector, TStack, Preferred}; -use self::val_batch::{OrdValBatch, OrdValBuilder}; -use self::key_batch::{OrdKeyBatch, OrdKeyBuilder}; +pub use self::val_batch::{OrdValBatch, OrdValBuilder}; +pub use self::key_batch::{OrdKeyBatch, OrdKeyBuilder}; /// A trace implementation using a spine of ordered lists. pub type OrdValSpine = Spine<