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§
fn fmt_with(&self, _ctxt: &C, f: &mut Formatter<'_>) -> Result
sourcefn fmt_diff_with(&self, old: &Self, ctxt: &C, f: &mut Formatter<'_>) -> Result
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).
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.
Implementations on Foreign Types§
impl<C> DebugWithContext<C> for Local
source§impl<T, C> DebugWithContext<C> for &Twhere
T: DebugWithContext<C>,
impl<T, C> DebugWithContext<C> for &Twhere
T: DebugWithContext<C>,
source§impl<T, C> DebugWithContext<C> for BitSet<T>where
T: Idx + DebugWithContext<C>,
impl<T, C> DebugWithContext<C> for BitSet<T>where
T: Idx + DebugWithContext<C>,
source§impl<T, C> DebugWithContext<C> for ChunkedBitSet<T>where
T: Idx + DebugWithContext<C>,
impl<T, C> DebugWithContext<C> for ChunkedBitSet<T>where
T: Idx + DebugWithContext<C>,
Implementors§
impl<'tcx, C> DebugWithContext<C> for MovePathIndexwhere
C: HasMoveData<'tcx>,
impl<'tcx, T> DebugWithContext<ValueAnalysisWrapper<T>> for State<T::Value>
This is used to visualize the dataflow analysis.