Trait Deps

Source
pub trait Deps {
    const DEP_KIND_NULL: DepKind;
    const DEP_KIND_RED: DepKind;
    const DEP_KIND_SIDE_EFFECT: DepKind;
    const DEP_KIND_MAX: u16;

    // Required methods
    fn with_deps<OP, R>(deps: TaskDepsRef<'_>, op: OP) -> R
       where OP: FnOnce() -> R;
    fn read_deps<OP>(op: OP)
       where OP: for<'a> FnOnce(TaskDepsRef<'a>);
    fn name(&self, dep_kind: DepKind) -> &'static str;
}

Required Associated Constants§

Source

const DEP_KIND_NULL: DepKind

We use this for most things when incr. comp. is turned off.

Source

const DEP_KIND_RED: DepKind

We use this to create a forever-red node.

Source

const DEP_KIND_SIDE_EFFECT: DepKind

We use this to create a side effect node.

Source

const DEP_KIND_MAX: u16

This is the highest value a DepKind can have. It’s used during encoding to pack information into the unused bits.

Required Methods§

Source

fn with_deps<OP, R>(deps: TaskDepsRef<'_>, op: OP) -> R
where OP: FnOnce() -> R,

Execute the operation with provided dependencies.

Source

fn read_deps<OP>(op: OP)
where OP: for<'a> FnOnce(TaskDepsRef<'a>),

Access dependencies from current implicit context.

Source

fn name(&self, dep_kind: DepKind) -> &'static str

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§