diff options
| author | Ralf Jung <post@ralfj.de> | 2022-05-06 10:30:29 +0200 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2022-05-06 10:57:03 +0200 |
| commit | 22cc6c3482bb98dca40986fe1634034dc44181be (patch) | |
| tree | 60362b93c3ca64b1021bad65f97798261311cbb6 | |
| parent | bd31ba045dca8165a4cb9dfb9a754ddc98e15009 (diff) | |
| download | rust-22cc6c3482bb98dca40986fe1634034dc44181be.tar.gz rust-22cc6c3482bb98dca40986fe1634034dc44181be.zip | |
don't debug-print ConstValue in MIR pretty-printer
| -rw-r--r-- | compiler/rustc_middle/src/mir/pretty.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/compiler/rustc_middle/src/mir/pretty.rs b/compiler/rustc_middle/src/mir/pretty.rs index b7f695da544..8111409b8bc 100644 --- a/compiler/rustc_middle/src/mir/pretty.rs +++ b/compiler/rustc_middle/src/mir/pretty.rs @@ -448,6 +448,12 @@ impl<'tcx> Visitor<'tcx> for ExtraComments<'tcx> { self.push(&format!("+ user_ty: {:?}", user_ty)); } + let fmt_val = |val: &ConstValue<'tcx>| match val { + ConstValue::Scalar(s) => format!("Scalar({:?})", s), + ConstValue::Slice { .. } => format!("Slice(..)"), + ConstValue::ByRef { .. } => format!("ByRef(..)"), + }; + let val = match literal { ConstantKind::Ty(ct) => match ct.val() { ty::ConstKind::Param(p) => format!("Param({})", p), @@ -457,7 +463,7 @@ impl<'tcx> Visitor<'tcx> for ExtraComments<'tcx> { uv.substs, uv.promoted, ), - ty::ConstKind::Value(val) => format!("Value({:?})", val), + ty::ConstKind::Value(val) => format!("Value({})", fmt_val(&val)), ty::ConstKind::Error(_) => "Error".to_string(), // These variants shouldn't exist in the MIR. ty::ConstKind::Placeholder(_) @@ -467,7 +473,7 @@ impl<'tcx> Visitor<'tcx> for ExtraComments<'tcx> { // To keep the diffs small, we render this like we render `ty::Const::Value`. // // This changes once `ty::Const::Value` is represented using valtrees. - ConstantKind::Val(val, _) => format!("Value({:?})", val), + ConstantKind::Val(val, _) => format!("Value({})", fmt_val(&val)), }; self.push(&format!("+ literal: Const {{ ty: {}, val: {} }}", literal.ty(), val)); |
