about summary refs log tree commit diff
path: root/compiler/rustc_mir/src
diff options
context:
space:
mode:
authorOli Scherer <github35764891676564198441@oli-obk.de>2021-03-29 16:35:21 +0000
committerOli Scherer <github35764891676564198441@oli-obk.de>2021-03-31 09:13:45 +0000
commit1d56b8a2bc181c6da705c8aa7241672cf25e43bf (patch)
treeb6ef30aa3af41562114b74cc60d1e519c74c4951 /compiler/rustc_mir/src
parent5582b1955961db7480cb0d2df177a0d1d9f8d44b (diff)
downloadrust-1d56b8a2bc181c6da705c8aa7241672cf25e43bf.tar.gz
rust-1d56b8a2bc181c6da705c8aa7241672cf25e43bf.zip
Make unevaluated DefId rendering deterministic
Diffstat (limited to 'compiler/rustc_mir/src')
-rw-r--r--compiler/rustc_mir/src/util/pretty.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/compiler/rustc_mir/src/util/pretty.rs b/compiler/rustc_mir/src/util/pretty.rs
index 1bf010ffca7..8fa44e4ded3 100644
--- a/compiler/rustc_mir/src/util/pretty.rs
+++ b/compiler/rustc_mir/src/util/pretty.rs
@@ -465,7 +465,21 @@ impl Visitor<'tcx> for ExtraComments<'tcx> {
         if use_verbose(ty) {
             self.push("ty::Const");
             self.push(&format!("+ ty: {:?}", ty));
-            self.push(&format!("+ val: {:?}", val));
+            let val = match val {
+                ty::ConstKind::Param(p) => format!("Param({})", p),
+                ty::ConstKind::Infer(infer) => format!("Infer({:?})", infer),
+                ty::ConstKind::Bound(idx, var) => format!("Bound({:?}, {:?})", idx, var),
+                ty::ConstKind::Placeholder(ph) => format!("PlaceHolder({:?})", ph),
+                ty::ConstKind::Unevaluated(uv) => format!(
+                    "Unevaluated({}, {:?}, {:?})",
+                    self.tcx.def_path_str(uv.def.did),
+                    uv.substs,
+                    uv.promoted
+                ),
+                ty::ConstKind::Value(val) => format!("Value({:?})", val),
+                ty::ConstKind::Error(_) => format!("Error"),
+            };
+            self.push(&format!("+ val: {}", val));
         }
     }