pub trait Task<'t> {
// Required method
fn poll(&mut self, ctx: &mut TaskCtx) -> TaskStep<'t>;
// Provided methods
fn priority(&self) -> u8 { ... }
fn take_output(&mut self) -> Vec<String> { ... }
}Expand description
A schedulable unit of work. 't ties any spawned children to the lifetime of
borrowed data the task closes over (e.g. the interpreter’s borrowed AST).
Required Methods§
Provided Methods§
Sourcefn priority(&self) -> u8
fn priority(&self) -> u8
Scheduling priority — higher runs first under crate::SchedulePolicy::Priority.
Defaults to 0 (all tasks equal).
Sourcefn take_output(&mut self) -> Vec<String>
fn take_output(&mut self) -> Vec<String>
Output lines the task produced during the just-finished poll slice, in
order. The work-stealing driver collects these per slice and flushes them in
the deterministic pick-order apply, so concurrent output matches the
cooperative interleaving byte-for-byte. Cooperative tasks write straight to
their sink and leave this empty (the default).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".