Struct rustc_ap_rustc_data_structures::obligation_forest::ObligationForest[][src]

pub struct ObligationForest<O: ForestObligation> { /* fields omitted */ }

Implementations

Creates a graphviz representation of the obligation forest. Given a directory this will create files with name of the format <counter>_<description>.gv. The counter is global and is maintained internally.

Calling this will do nothing unless the environment variable DUMP_OBLIGATION_FOREST_GRAPHVIZ is defined.

A few post-processing that you might want to do make the forest easier to visualize:

  • sed 's,std::[a-z]*::,,g' — Deletes the std::<package>:: prefix of paths.
  • sed 's,"Binder(TraitPredicate(<\(.*\)>)) (\([^)]*\))","\1 (\2)",' — Transforms Binder(TraitPredicate(<predicate>)) into just <predicate>.

Returns the total number of nodes in the forest that have not yet been fully resolved.

Registers an obligation.

Converts all remaining obligations to the given error.

Returns the set of obligations that are in a pending state.

Performs a pass through the obligation list. This must be called in a loop until outcome.stalled is false.

This cannot be unrolled (presently, at least).

Trait Implementations

Returns all the nodes in this graph.

Returns all of the edges in this graph.

The source node for edge.

The target node for edge.

Must return a DOT compatible identifier naming the graph.

Maps n to a unique identifier with respect to self. The implementor is responsible for ensuring that the returned name is a valid DOT identifier. Read more

Maps n to a label that will be used in the rendered output. The label need not be unique, and may be the empty string; the default is just the output from node_id. Read more

Maps e to a label that will be used in the rendered output. The label need not be unique, and may be the empty string; the default is in fact the empty string. Read more

Maps n to one of the graphviz shape names. If None is returned, no shape attribute is specified. Read more

Maps n to a style that will be used in the rendered output.

Maps e to a style that will be used in the rendered output.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.