diff options
| author | ben <benlewisj@gmail.com> | 2019-10-10 22:01:55 +1300 |
|---|---|---|
| committer | ben <benlewisj@gmail.com> | 2019-10-10 22:01:55 +1300 |
| commit | 8569dd1db985509cd235fafdd962aa52ced68e35 (patch) | |
| tree | 98306d8e5999283d8db04035ec4de9e607edd1b9 | |
| parent | 89cc0467a2a5af872f05830be68b60adf4669e01 (diff) | |
| download | rust-8569dd1db985509cd235fafdd962aa52ced68e35.tar.gz rust-8569dd1db985509cd235fafdd962aa52ced68e35.zip | |
Preserve output of raw pointers in mir dump.
| -rw-r--r-- | src/librustc/mir/mod.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/librustc/mir/mod.rs b/src/librustc/mir/mod.rs index 2b5212cb7ef..9ac1465cb0b 100644 --- a/src/librustc/mir/mod.rs +++ b/src/librustc/mir/mod.rs @@ -2602,7 +2602,14 @@ impl<'tcx> Debug for Constant<'tcx> { impl<'tcx> Display for Constant<'tcx> { fn fmt(&self, fmt: &mut Formatter<'_>) -> fmt::Result { write!(fmt, "const ")?; - write!(fmt, "{}", self.literal) + // FIXME make the default pretty printing of raw pointers more detailed. Here we output the + // debug representation of raw pointers, so that the raw pointers in the mir dump output are + // detailed and just not '{pointer}'. + if let ty::RawPtr(_) = self.literal.ty.kind { + write!(fmt, "{:?} : {}", self.literal.val, self.literal.ty) + } else { + write!(fmt, "{}", self.literal) + } } } |
