about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librustc/ast_map/mod.rs1
-rw-r--r--src/librustc/middle/ty.rs4
-rw-r--r--src/librustc/util/ppaux.rs29
3 files changed, 30 insertions, 4 deletions
diff --git a/src/librustc/ast_map/mod.rs b/src/librustc/ast_map/mod.rs
index f7f926d9d97..a212594a326 100644
--- a/src/librustc/ast_map/mod.rs
+++ b/src/librustc/ast_map/mod.rs
@@ -480,6 +480,7 @@ impl<'ast> Map<'ast> {
             NodeImplItem(ii) => PathName(ii.ident.name),
             NodeTraitItem(ti) => PathName(ti.ident.name),
             NodeVariant(v) => PathName(v.node.name.name),
+            NodeLifetime(lt) => PathName(lt.name),
             _ => panic!("no path elem for {:?}", node)
         }
     }
diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs
index e9be9010d4a..372bbfc9a1a 100644
--- a/src/librustc/middle/ty.rs
+++ b/src/librustc/middle/ty.rs
@@ -1733,7 +1733,7 @@ pub struct FreeRegion {
 }
 
 #[derive(Clone, PartialEq, PartialOrd, Eq, Ord, Hash,
-         RustcEncodable, RustcDecodable, Copy, Debug)]
+         RustcEncodable, RustcDecodable, Copy)]
 pub enum BoundRegion {
     /// An anonymous region parameter for a given fn (&T)
     BrAnon(u32),
@@ -2325,7 +2325,7 @@ pub struct TypeParameterDef<'tcx> {
     pub object_lifetime_default: ObjectLifetimeDefault,
 }
 
-#[derive(Clone, Debug)]
+#[derive(Clone)]
 pub struct RegionParameterDef {
     pub name: ast::Name,
     pub def_id: DefId,
diff --git a/src/librustc/util/ppaux.rs b/src/librustc/util/ppaux.rs
index ac51f46a7e9..62ece6af4f2 100644
--- a/src/librustc/util/ppaux.rs
+++ b/src/librustc/util/ppaux.rs
@@ -307,8 +307,20 @@ impl<'tcx> fmt::Display for ty::TraitTy<'tcx> {
 
 impl<'tcx> fmt::Debug for ty::TypeParameterDef<'tcx> {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-        write!(f, "TypeParameterDef({:?}, {:?}/{})",
-               self.def_id, self.space, self.index)
+        write!(f, "TypeParameterDef({}, {}:{}, {:?}/{})",
+               self.name,
+               self.def_id.krate, self.def_id.node,
+               self.space, self.index)
+    }
+}
+
+impl fmt::Debug for ty::RegionParameterDef {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        write!(f, "RegionParameterDef({}, {}:{}, {:?}/{}, {:?})",
+               self.name,
+               self.def_id.krate, self.def_id.node,
+               self.space, self.index,
+               self.bounds)
     }
 }
 
@@ -388,6 +400,19 @@ impl fmt::Display for ty::BoundRegion {
     }
 }
 
+impl fmt::Debug for ty::BoundRegion {
+    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        match *self {
+            BrAnon(n) => write!(f, "BrAnon({:?})", n),
+            BrFresh(n) => write!(f, "BrFresh({:?})", n),
+            BrNamed(did, name) => {
+                write!(f, "BrNamed({}:{}, {:?})", did.krate, did.node, name)
+            }
+            BrEnv => "BrEnv".fmt(f),
+        }
+    }
+}
+
 impl fmt::Debug for ty::Region {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         match *self {