Skip to main content

Module graphviz

Module graphviz 

Source
Expand description

A helpful diagram for debugging dataflow problems.

Re-exportsยง

use std::borrow::Cow; ๐Ÿ”’
use std::ffi::OsString; ๐Ÿ”’
use std::path::PathBuf; ๐Ÿ”’
use std::sync::LazyLock; ๐Ÿ”’
use std::io; ๐Ÿ”’
use std::ops; ๐Ÿ”’
use std::str; ๐Ÿ”’
use regex::Regex; ๐Ÿ”’
use rustc_attr_ir::BorrowckGraphvizFormatKind; ๐Ÿ”’
use rustc_attr_ir::RustcMirKind; ๐Ÿ”’
use rustc_attr_ir::find_attr; ๐Ÿ”’
use rustc_graphviz as dot; ๐Ÿ”’
use rustc_index::bit_set::DenseBitSet; ๐Ÿ”’
use rustc_middle::mir; ๐Ÿ”’
use rustc_middle::mir::BasicBlock; ๐Ÿ”’
use rustc_middle::mir::Body; ๐Ÿ”’
use rustc_middle::mir::Location; ๐Ÿ”’
use rustc_middle::mir::MirDumper; ๐Ÿ”’
use rustc_middle::mir::TerminatorEdges; ๐Ÿ”’
use rustc_middle::mir::graphviz_safe_def_name; ๐Ÿ”’
use rustc_middle::mir::traversal; ๐Ÿ”’
use rustc_middle::ty::TyCtxt; ๐Ÿ”’
use rustc_middle::ty::print::with_no_trimmed_paths; ๐Ÿ”’
use rustc_middle::ty::print::with_no_trimmed_paths; ๐Ÿ”’
use rustc_span::def_id::DefId; ๐Ÿ”’
use tracing::debug; ๐Ÿ”’
use super::fmt::DebugDiffWithAdapter; ๐Ÿ”’
use super::fmt::DebugWithAdapter; ๐Ÿ”’
use super::fmt::DebugWithContext; ๐Ÿ”’
use super::Analysis; ๐Ÿ”’
use super::Direction; ๐Ÿ”’
use super::Results; ๐Ÿ”’
use super::ResultsCursor; ๐Ÿ”’
use super::ResultsVisitor; ๐Ÿ”’
use super::visit_results; ๐Ÿ”’

Structsยง

BlockFormatter ๐Ÿ”’
CfgEdge ๐Ÿ”’
A pair of a basic block and an index into that basic blocks successors.
Formatter ๐Ÿ”’
RustcMirAttrs ๐Ÿ”’
StateDiffCollector ๐Ÿ”’

Enumsยง

Background ๐Ÿ”’
The background color used for zebra-striping the table.
OutputStyle ๐Ÿ”’

Functionsยง

dataflow_successors ๐Ÿ”’
diff_pretty ๐Ÿ”’
write_graphviz_results ๐Ÿ”’
Writes a DOT file containing the results of a dataflow analysis if the user requested it via rustc_mir attributes and -Z dump-mir-dataflow. The Result in and the Results out are the same.