pub trait Deps {
    const DEP_KIND_NULL: DepKind;
    const DEP_KIND_RED: 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>);
}

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_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.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Deps for DepsType

source§

const DEP_KIND_NULL: DepKind = dep_kinds::Null

source§

const DEP_KIND_RED: DepKind = dep_kinds::Red

source§

const DEP_KIND_MAX: u16 = 290u16