mirror of
https://github.com/rust-lang/rust.git
synced 2026-05-16 13:05:18 +03:00
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:
+25
-23
@@ -2184,29 +2184,7 @@ fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
|
||||
});
|
||||
|
||||
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 @@ fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result {
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user