rustc_mir_dataflow::framework::fmt

Trait DebugWithContext

source
pub trait DebugWithContext<C>: Eq + Debug {
    // Provided methods
    fn fmt_with(&self, _ctxt: &C, f: &mut Formatter<'_>) -> Result { ... }
    fn fmt_diff_with(
        &self,
        old: &Self,
        ctxt: &C,
        f: &mut Formatter<'_>,
    ) -> Result { ... }
}
Expand description

An extension to fmt::Debug for data that can be better printed with some auxiliary data C.

Provided Methods§

source

fn fmt_with(&self, _ctxt: &C, f: &mut Formatter<'_>) -> Result

source

fn fmt_diff_with(&self, old: &Self, ctxt: &C, f: &mut Formatter<'_>) -> Result

Print the difference between self and old.

This should print nothing if self == old.

+ and - are typically used to indicate differences. However, these characters are fairly common and may be needed to print a types representation. If using them to indicate a diff, prefix them with the “Unit Separator” control character (␟ U+001F).

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<C> DebugWithContext<C> for Local

source§

impl<T, C> DebugWithContext<C> for &T
where T: DebugWithContext<C>,

source§

fn fmt_with(&self, ctxt: &C, f: &mut Formatter<'_>) -> Result

source§

fn fmt_diff_with(&self, old: &Self, ctxt: &C, f: &mut Formatter<'_>) -> Result

source§

impl<T, C> DebugWithContext<C> for BitSet<T>
where T: Idx + DebugWithContext<C>,

source§

fn fmt_with(&self, ctxt: &C, f: &mut Formatter<'_>) -> Result

source§

fn fmt_diff_with(&self, old: &Self, ctxt: &C, f: &mut Formatter<'_>) -> Result

source§

impl<T, C> DebugWithContext<C> for ChunkedBitSet<T>
where T: Idx + DebugWithContext<C>,

source§

fn fmt_with(&self, ctxt: &C, f: &mut Formatter<'_>) -> Result

source§

fn fmt_diff_with(&self, old: &Self, ctxt: &C, f: &mut Formatter<'_>) -> Result

Implementors§

source§

impl<'tcx, C> DebugWithContext<C> for MovePathIndex
where C: HasMoveData<'tcx>,

source§

impl<'tcx, T> DebugWithContext<ValueAnalysisWrapper<T>> for State<T::Value>
where T: ValueAnalysis<'tcx>, T::Value: Debug,

This is used to visualize the dataflow analysis.

source§

impl<C> DebugWithContext<C> for InitIndex

source§

impl<S, C> DebugWithContext<C> for MaybeReachable<S>
where S: DebugWithContext<C>,

source§

impl<T, C> DebugWithContext<C> for Dual<T>
where T: DebugWithContext<C>,