1
Fork 0

Rollup merge of #61979 - spastorino:fmt-place-base, r=oli-obk

Implement Debug for PlaceBase

r? @oli-obk

More tiny bits that can be extracted from Place 2.0 PR
This commit is contained in:
Mazdak Farrokhzad 2019-06-20 22:14:25 +02:00 committed by GitHub
commit 4129463683
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2184,29 +2184,7 @@ impl<'tcx> Debug for Place<'tcx> {
});
self.iterate(|place_base, place_projections| {
match place_base {
PlaceBase::Local(id) => {
write!(fmt, "{:?}", id)?;
}
PlaceBase::Static(box self::Static { ty, kind: StaticKind::Static(def_id) }) => {
write!(
fmt,
"({}: {:?})",
ty::tls::with(|tcx| tcx.def_path_str(*def_id)),
ty
)?;
},
PlaceBase::Static(
box self::Static { ty, kind: StaticKind::Promoted(promoted) }
) => {
write!(
fmt,
"({:?}: {:?})",
promoted,
ty
)?;
},
}
write!(fmt, "{:?}", place_base)?;
for projection in place_projections {
match projection.elem {
@ -2256,6 +2234,30 @@ impl<'tcx> Debug for Place<'tcx> {
}
}
impl Debug for PlaceBase<'_> {
fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
match *self {
PlaceBase::Local(id) => write!(fmt, "{:?}", id),
PlaceBase::Static(box self::Static { ty, kind: StaticKind::Static(def_id) }) => {
write!(
fmt,
"({}: {:?})",
ty::tls::with(|tcx| tcx.def_path_str(def_id)),
ty
)
},
PlaceBase::Static(box self::Static { ty, kind: StaticKind::Promoted(promoted) }) => {
write!(
fmt,
"({:?}: {:?})",
promoted,
ty
)
},
}
}
}
///////////////////////////////////////////////////////////////////////////
// Scopes