diff options
| author | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-05-11 16:04:14 +0200 |
|---|---|---|
| committer | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2019-05-25 10:07:02 +0200 |
| commit | a0275e3bf3aa72b40f8f9cb1b3b64c620569377c (patch) | |
| tree | 338df78c75864964589bd6a967da414f7c2a491d /src | |
| parent | dd327951eb61b95e28649768ae7e67aaba4e2ece (diff) | |
Only print integers in symbol path's constants
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_codegen_utils/symbol_names.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/librustc_codegen_utils/symbol_names.rs b/src/librustc_codegen_utils/symbol_names.rs index f2f9ac8931f..86407162907 100644 --- a/src/librustc_codegen_utils/symbol_names.rs +++ b/src/librustc_codegen_utils/symbol_names.rs @@ -96,6 +96,7 @@ use rustc::ty::print::{PrettyPrinter, Printer, Print}; use rustc::ty::query::Providers; use rustc::ty::subst::{Kind, SubstsRef, UnpackedKind}; use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; +use rustc::mir::interpret::{ConstValue, Scalar}; use rustc::util::common::record_time; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; use rustc_mir::monomorphize::item::{InstantiationMode, MonoItem, MonoItemExt}; @@ -438,10 +439,17 @@ impl Printer<'tcx, 'tcx> for SymbolPrinter<'_, 'tcx> { } fn print_const( - self, + mut self, ct: &'tcx ty::Const<'tcx>, ) -> Result<Self::Const, Self::Error> { - self.pretty_print_const(ct) + // only print integers + if let ConstValue::Scalar(Scalar::Bits { .. }) = ct.val { + if ct.ty.is_integral() { + return self.pretty_print_const(ct); + } + } + self.write_str("_")?; + Ok(self) } fn path_crate( |
