rustc_middle::dep_graph

Trait Deps

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

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 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 = 306u16