| use crate::traits; |
| |
| use std::fmt; |
| |
| // Structural impls for the structs in `traits`. |
| |
| impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSource<'tcx, N> { |
| fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
| match self { |
| super::ImplSource::UserDefined(v) => write!(f, "{v:?}"), |
| |
| super::ImplSource::Builtin(source, d) => { |
| write!(f, "Builtin({source:?}, {d:?})") |
| } |
| |
| super::ImplSource::Param(n) => { |
| write!(f, "ImplSourceParamData({n:?})") |
| } |
| } |
| } |
| } |
| |
| impl<'tcx, N: fmt::Debug> fmt::Debug for traits::ImplSourceUserDefinedData<'tcx, N> { |
| fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
| write!( |
| f, |
| "ImplSourceUserDefinedData(impl_def_id={:?}, args={:?}, nested={:?})", |
| self.impl_def_id, self.args, self.nested |
| ) |
| } |
| } |