```
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

#### const DEP_KIND_NULL: DepKind

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

Source#### const DEP_KIND_RED: DepKind

#### const DEP_KIND_RED: DepKind

We use this to create a forever-red node.

Source#### const DEP_KIND_MAX: u16

#### 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) -> Rwhere
OP: FnOnce() -> R,

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

Execute the operation with provided dependencies.

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

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

Access dependencies from current implicit context.

## 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.*