Skip to main content

Leave

Trait Leave 

Source
pub trait Leave<'inner, TInner: Timestamp, C> {
    // Required method
    fn leave<'outer, TOuter: Timestamp>(
        self,
        outer: Scope<'outer, TOuter>,
    ) -> Stream<'outer, TOuter, C>
       where TInner: Refines<TOuter>;
}
Expand description

Extension trait to move a Stream to the parent of its current Scope.

Required Methods§

Source

fn leave<'outer, TOuter: Timestamp>( self, outer: Scope<'outer, TOuter>, ) -> Stream<'outer, TOuter, C>
where TInner: Refines<TOuter>,

Moves a Stream to the parent of its current Scope.

The parent scope must be supplied as an argument.

The destination scope must be the parent of the stream’s scope. The method checks this property at runtime, and will panic if not respected.

§Examples
use timely::dataflow::operators::{Enter, Leave, ToStream};

timely::example(|outer| {
    let stream = (0..9).to_stream(outer).container::<Vec<_>>();
    let output = outer.region(|inner| {
        stream.enter(inner).leave(outer)
    });
});

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'inner, TInner, C> Leave<'inner, TInner, C> for Stream<'inner, TInner, C>
where TInner: Timestamp, C: Container,