pub fn propose_distinct<G, Tr, K, F, P, V>(
prefixes: &Collection<G, P, Tr::Diff>,
arrangement: Arranged<G, Tr>,
key_selector: F,
) -> Collection<G, (P, V), Tr::Diff>where
G: Scope<Timestamp = Tr::Time>,
Tr: TraceReader + Clone + 'static,
for<'a> Tr::Key<'a>: IntoOwned<'a, Owned = K>,
for<'a> Tr::Diff: Semigroup<Tr::DiffGat<'a>> + Monoid + Multiply<Output = Tr::Diff> + ExchangeData,
K: Hashable + Default + Ord + 'static,
F: Fn(&P) -> K + Clone + 'static,
P: ExchangeData,
V: Clone + 'static,
for<'a> Tr::Val<'a>: IntoOwned<'a, Owned = V>,
Expand description
Proposes distinct extensions to a prefix stream.
Unlike propose
, this method does not scale the multiplicity of matched
prefixes by the number of matches in arrangement
. This can be useful to
avoid the need to prepare an arrangement of distinct extensions.