5 // Structural impls for the structs in `traits`.
7 impl<'tcx
, N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSource
<'tcx
, N
> {
8 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
10 super::ImplSourceUserDefined(ref v
) => write
!(f
, "{:?}", v
),
12 super::ImplSourceAutoImpl(ref t
) => write
!(f
, "{:?}", t
),
14 super::ImplSourceClosure(ref d
) => write
!(f
, "{:?}", d
),
16 super::ImplSourceGenerator(ref d
) => write
!(f
, "{:?}", d
),
18 super::ImplSourceFnPointer(ref d
) => write
!(f
, "ImplSourceFnPointer({:?})", d
),
20 super::ImplSourceDiscriminantKind(ref d
) => write
!(f
, "{:?}", d
),
22 super::ImplSourceObject(ref d
) => write
!(f
, "{:?}", d
),
24 super::ImplSourceParam(ref n
) => write
!(f
, "ImplSourceParam({:?})", n
),
26 super::ImplSourceBuiltin(ref d
) => write
!(f
, "{:?}", d
),
28 super::ImplSourceTraitAlias(ref d
) => write
!(f
, "{:?}", d
),
33 impl<'tcx
, N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceUserDefinedData
<'tcx
, N
> {
34 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
37 "ImplSourceUserDefinedData(impl_def_id={:?}, substs={:?}, nested={:?})",
38 self.impl_def_id
, self.substs
, self.nested
43 impl<'tcx
, N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceGeneratorData
<'tcx
, N
> {
44 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
47 "ImplSourceGeneratorData(generator_def_id={:?}, substs={:?}, nested={:?})",
48 self.generator_def_id
, self.substs
, self.nested
53 impl<'tcx
, N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceClosureData
<'tcx
, N
> {
54 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
57 "ImplSourceClosureData(closure_def_id={:?}, substs={:?}, nested={:?})",
58 self.closure_def_id
, self.substs
, self.nested
63 impl<N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceBuiltinData
<N
> {
64 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
65 write
!(f
, "ImplSourceBuiltinData(nested={:?})", self.nested
)
69 impl<N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceAutoImplData
<N
> {
70 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
73 "ImplSourceAutoImplData(trait_def_id={:?}, nested={:?})",
74 self.trait_def_id
, self.nested
79 impl<'tcx
, N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceObjectData
<'tcx
, N
> {
80 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
83 "ImplSourceObjectData(upcast={:?}, vtable_base={}, nested={:?})",
84 self.upcast_trait_ref
, self.vtable_base
, self.nested
89 impl<'tcx
, N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceFnPointerData
<'tcx
, N
> {
90 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
91 write
!(f
, "ImplSourceFnPointerData(fn_ty={:?}, nested={:?})", self.fn_ty
, self.nested
)
95 impl<'tcx
, N
: fmt
::Debug
> fmt
::Debug
for traits
::ImplSourceTraitAliasData
<'tcx
, N
> {
96 fn fmt(&self, f
: &mut fmt
::Formatter
<'_
>) -> fmt
::Result
{
99 "ImplSourceTraitAlias(alias_def_id={:?}, substs={:?}, nested={:?})",
100 self.alias_def_id
, self.substs
, self.nested
105 ///////////////////////////////////////////////////////////////////////////
106 // Lift implementations
108 CloneTypeFoldableAndLiftImpls
! {
109 super::IfExpressionCause
,
110 super::ImplSourceDiscriminantKindData
,