Skip to content

Commit 81c00e6

Browse files
committed
Better debug printouts
1 parent dfe8402 commit 81c00e6

File tree

3 files changed

+21
-13
lines changed

3 files changed

+21
-13
lines changed

src/librustc/middle/ty.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1167,25 +1167,25 @@ impl cmp::PartialEq for InferRegion {
11671167

11681168
impl fmt::Show for TyVid {
11691169
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result{
1170-
write!(f, "<generic #{}>", self.index)
1170+
write!(f, "_#{}t", self.index)
11711171
}
11721172
}
11731173

11741174
impl fmt::Show for IntVid {
11751175
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1176-
write!(f, "<generic integer #{}>", self.index)
1176+
write!(f, "_#{}i", self.index)
11771177
}
11781178
}
11791179

11801180
impl fmt::Show for FloatVid {
11811181
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1182-
write!(f, "<generic float #{}>", self.index)
1182+
write!(f, "_#{}f", self.index)
11831183
}
11841184
}
11851185

11861186
impl fmt::Show for RegionVid {
11871187
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
1188-
write!(f, "'<generic lifetime #{}>", self.index)
1188+
write!(f, "'_#{}r", self.index)
11891189
}
11901190
}
11911191

src/librustc/middle/typeck/infer/region_inference/mod.rs

+12
Original file line numberDiff line numberDiff line change
@@ -952,6 +952,11 @@ impl<'a, 'tcx> RegionVarBindings<'a, 'tcx> {
952952
-> Vec<VarValue>
953953
{
954954
let mut var_data = self.construct_var_data();
955+
956+
// Dorky hack to cause `dump_constraints` to only get called
957+
// if debug mode is enabled:
958+
debug!("----() End constraint listing {}---", self.dump_constraints());
959+
955960
self.expansion(var_data.as_mut_slice());
956961
self.contraction(var_data.as_mut_slice());
957962
let values =
@@ -974,6 +979,13 @@ impl<'a, 'tcx> RegionVarBindings<'a, 'tcx> {
974979
})
975980
}
976981

982+
fn dump_constraints(&self) {
983+
debug!("----() Start constraint listing ()----");
984+
for (idx, (constraint, _)) in self.constraints.borrow().iter().enumerate() {
985+
debug!("Constraint {} => {}", idx, constraint.repr(self.tcx));
986+
}
987+
}
988+
977989
fn expansion(&self, var_data: &mut [VarData]) {
978990
self.iterate_until_fixed_point("Expansion", |constraint| {
979991
debug!("expansion: constraint={} origin={}",

src/librustc/util/ppaux.rs

+5-9
Original file line numberDiff line numberDiff line change
@@ -373,14 +373,10 @@ pub fn ty_to_string(cx: &ctxt, typ: t) -> String {
373373
fn infer_ty_to_string(cx: &ctxt, ty: ty::InferTy) -> String {
374374
let print_var_ids = cx.sess.verbose();
375375
match ty {
376-
ty::TyVar(ty::TyVid { index: vid }) if print_var_ids =>
377-
format!("_#{}", vid),
378-
ty::IntVar(ty::IntVid { index: vid }) if print_var_ids =>
379-
format!("_#{}i", vid),
380-
ty::FloatVar(ty::FloatVid { index: vid }) if print_var_ids =>
381-
format!("_#{}f", vid),
382-
ty::TyVar(_) | ty::IntVar(_) | ty::FloatVar(_) =>
383-
"_".to_string(),
376+
ty::TyVar(ref vid) if print_var_ids => vid.repr(cx),
377+
ty::IntVar(ref vid) if print_var_ids => vid.repr(cx),
378+
ty::FloatVar(ref vid) if print_var_ids => vid.repr(cx),
379+
ty::TyVar(_) | ty::IntVar(_) | ty::FloatVar(_) => format!("_"),
384380
ty::SkolemizedTy(v) => format!("SkolemizedTy({})", v),
385381
ty::SkolemizedIntTy(v) => format!("SkolemizedIntTy({})", v)
386382
}
@@ -858,7 +854,7 @@ impl Repr for ty::Region {
858854
}
859855

860856
ty::ReInfer(ReVar(ref vid)) => {
861-
format!("ReInfer({})", vid.index)
857+
format!("{}", vid)
862858
}
863859

864860
ty::ReInfer(ReSkolemized(id, ref bound_region)) => {

0 commit comments

Comments
 (0)