6.5.5.3. Edges (Dependencies)

This section describes the types of edges that are extracted from Rust source code. We list only those edges that actually appear in one of the standard views of Rust RFGs (so e.g., the edge class edge-call Call does not appear in the list, but some of its subclasses do).

Dispatching_Call

edge-dispatching-call

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-method Method

Call, Code Facts

node-method Method

node-routine Routine

Call, Code Facts

node-routine Routine

node-method Method

Call, Code Facts

node-routine Routine

node-routine Routine

Call, Code Facts

Description

Represents a dispatching call from one routine to another.

Enumerator_Use

edge-enumerator-use

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-constant Constant

Code Facts

node-routine Routine

node-constant Constant

Code Facts

Description

Represents the use of a constant (const variable) in a routine.

Implementation_Of

edge-implementation-of

Possible Source and Target Nodes

Source type

Target type

Views

node-impl Impl

node-trait Trait

Code Facts

node-method Method

node-method Method

Code Facts

node-routine Routine

node-routine Routine

Code Facts

Description

Represents an implementation of a trait.

Member_Set

edge-member-set

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-member Member

Code Facts

node-routine Routine

node-member Member

Code Facts

Description

An edge m→ e of type Member_Set with e being a Member node indicates that e (a field) is possibly written in the context of m.

Member_Use

edge-member-use

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-member Member

Code Facts

node-routine Routine

node-member Member

Code Facts

Description

An edge m→ e of type Member_Use with e being a Member node indicates that e (a field) is possibly read in the context of m.

Of_Type

edge-of-type

Possible Source and Target Nodes

Source type

Target type

Views

node-member Member

node-trait Trait

Code Facts

node-member Member

node-type Type

Code Facts

Description

Represents the declared type of a struct/union field.

Parameter_Of_Type

edge-parameter-of-type

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-trait Trait

Code Facts

node-method Method

node-type Type

Code Facts

node-routine Routine

node-trait Trait

Code Facts

node-routine Routine

node-type Type

Code Facts

Description

Represents a routine having at least one parameter of a specific type.

Return_Type

edge-return-type

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-trait Trait

Code Facts

node-method Method

node-type Type

Code Facts

node-routine Routine

node-trait Trait

Code Facts

node-routine Routine

node-type Type

Code Facts

Description

Represents a routine returning a specific type.

Self_Type

edge-self-type

Possible Source and Target Nodes

Source type

Target type

Views

node-impl Impl

node-type Type

Code Facts

Description

Represents the type of Self in an Impl.

Static_Call

edge-static-call

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-method Method

Call, Code Facts

node-method Method

node-routine Routine

Call, Code Facts

node-routine Routine

node-method Method

Call, Code Facts

node-routine Routine

node-routine Routine

Call, Code Facts

Description

Represents a static call from one routine to another.

Type_Synonym_To

edge-type-synonym-to

Possible Source and Target Nodes

Source type

Target type

Views

node-type Type

node-trait Trait

Code Facts

node-type Type

node-type Type

Code Facts

Description

Represents a type synonym.

Variable_Set

edge-variable-set

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-variable Variable

Code Facts

node-routine Routine

node-variable Variable

Code Facts

Description

An edge m→ e of type Variable_Set with e being a static variable node indicates that e is possibly written in the context of m.

Variable_Use

edge-variable-use

Possible Source and Target Nodes

Source type

Target type

Views

node-method Method

node-variable Variable

Code Facts

node-routine Routine

node-variable Variable

Code Facts

Description

An edge m→ e of type Variable_Use with e being a static or const variable node indicates that e is possibly read in the context of m.