composable_indexes/core/shallow_clone.rs
1/**
2 * A marker trait for types that support cloning without having to copy all indexed values.
3 *
4 * This likely means that either:
5 *
6 * - The type uses persistent data structures internally (e.g., `crate::index::im::BTreeIndex`)
7 * - The type only works using aggregations that do not store all samples (e.g., `crate::aggregation::Count`)
8 */
9pub trait ShallowClone: Clone {
10 fn shallow_clone(&self) -> Self {
11 self.clone()
12 }
13}