rustc_infer/traits/
structural_impls.rs1use std::fmt;
2
3use rustc_middle::ty;
4
5use crate::traits;
6use crate::traits::project::Normalized;
7
8impl<'tcx, T: fmt::Debug> fmt::Debug for Normalized<'tcx, T> {
11 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
12 f.write_fmt(format_args!("Normalized({0:?}, {1:?})", self.value,
self.obligations))write!(f, "Normalized({:?}, {:?})", self.value, self.obligations)
13 }
14}
15
16impl<'tcx, O: fmt::Debug> fmt::Debug for traits::Obligation<'tcx, O> {
17 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18 if ty::tls::with(|tcx| tcx.sess.verbose_internals()) {
19 f.write_fmt(format_args!("Obligation(predicate={0:?}, cause={1:?}, param_env={2:?}, depth={3})",
self.predicate, self.cause, self.param_env, self.recursion_depth))write!(
20 f,
21 "Obligation(predicate={:?}, cause={:?}, param_env={:?}, depth={})",
22 self.predicate, self.cause, self.param_env, self.recursion_depth
23 )
24 } else {
25 f.write_fmt(format_args!("Obligation(predicate={0:?}, depth={1})",
self.predicate, self.recursion_depth))write!(f, "Obligation(predicate={:?}, depth={})", self.predicate, self.recursion_depth)
26 }
27 }
28}
29
30impl<'tcx> fmt::Debug for traits::MismatchedProjectionTypes<'tcx> {
31 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
32 f.write_fmt(format_args!("MismatchedProjectionTypes({0:?})", self.err))write!(f, "MismatchedProjectionTypes({:?})", self.err)
33 }
34}