|
1 | 1 | use crate::hir;
|
2 |
| -use crate::hir::def::Namespace; |
| 2 | +use crate::hir::def::{Namespace, Def}; |
3 | 3 | use crate::hir::map::{DefPathData, DisambiguatedDefPathData};
|
4 | 4 | use crate::hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX, LOCAL_CRATE};
|
5 | 5 | use crate::middle::cstore::{ExternCrate, ExternCrateSource};
|
@@ -1540,9 +1540,15 @@ define_print_and_forward_display! {
|
1540 | 1540 | &'tcx ty::Const<'tcx> {
|
1541 | 1541 | let u8 = cx.tcx().types.u8;
|
1542 | 1542 | match (self.val, &self.ty.sty) {
|
1543 |
| - | (ConstValue::Unevaluated(..), _) |
1544 |
| - | (ConstValue::Infer(..), _) |
1545 |
| - => p!(write("_: "), print(self.ty)), |
| 1543 | + (ConstValue::Unevaluated(did, substs), _) => { |
| 1544 | + match cx.tcx().describe_def(did) { |
| 1545 | + | Some(Def::Static(_, _)) |
| 1546 | + | Some(Def::Const(_)) |
| 1547 | + | Some(Def::AssociatedConst(_)) => p!(write("{}", cx.tcx().def_path_str(did))), |
| 1548 | + _ => p!(write("_")), |
| 1549 | + } |
| 1550 | + } |
| 1551 | + (ConstValue::Infer(..), _) => p!(write("_: "), print(self.ty)), |
1546 | 1552 | (ConstValue::Param(ParamConst { name, .. }), _) => p!(write("{}", name)),
|
1547 | 1553 | (ConstValue::Scalar(Scalar::Bits { bits: 0, .. }), ty::Bool) => p!(write("false")),
|
1548 | 1554 | (ConstValue::Scalar(Scalar::Bits { bits: 1, .. }), ty::Bool) => p!(write("true")),
|
|
0 commit comments