about summary refs log tree commit diff
path: root/src/rustc/syntax
diff options
context:
space:
mode:
Diffstat (limited to 'src/rustc/syntax')
-rw-r--r--src/rustc/syntax/ast.rs7
-rw-r--r--src/rustc/syntax/fold.rs1
-rw-r--r--src/rustc/syntax/print/pprust.rs1
3 files changed, 9 insertions, 0 deletions
diff --git a/src/rustc/syntax/ast.rs b/src/rustc/syntax/ast.rs
index 2f0c4bf7839..934940bba18 100644
--- a/src/rustc/syntax/ast.rs
+++ b/src/rustc/syntax/ast.rs
@@ -339,6 +339,12 @@ enum prim_ty {
     ty_bool,
 }
 
+enum region {
+    re_inferred,
+    re_named(ident),
+    re_self
+}
+
 enum ty_ {
     ty_nil,
     ty_bot, /* bottom type */
@@ -346,6 +352,7 @@ enum ty_ {
     ty_uniq(mt),
     ty_vec(mt),
     ty_ptr(mt),
+    ty_rptr(region, mt),
     ty_rec([ty_field]),
     ty_fn(proto, fn_decl),
     ty_tup([@ty]),
diff --git a/src/rustc/syntax/fold.rs b/src/rustc/syntax/fold.rs
index 42ac5ca7da6..bc9b4b79048 100644
--- a/src/rustc/syntax/fold.rs
+++ b/src/rustc/syntax/fold.rs
@@ -479,6 +479,7 @@ fn noop_fold_ty(t: ty_, fld: ast_fold) -> ty_ {
       ty_uniq(mt) {ty_uniq(fold_mt(mt, fld))}
       ty_vec(mt) {ty_vec(fold_mt(mt, fld))}
       ty_ptr(mt) {ty_ptr(fold_mt(mt, fld))}
+      ty_rptr(region, mt) {ty_rptr(region, fold_mt(mt, fld))}
       ty_rec(fields) {ty_rec(vec::map(fields) {|f| fold_field(f, fld)})}
       ty_fn(proto, decl) {ty_fn(proto, fold_fn_decl(decl, fld))}
       ty_tup(tys) {ty_tup(vec::map(tys) {|ty| fld.fold_ty(ty)})}
diff --git a/src/rustc/syntax/print/pprust.rs b/src/rustc/syntax/print/pprust.rs
index 10195ce0163..b1a07fae31c 100644
--- a/src/rustc/syntax/print/pprust.rs
+++ b/src/rustc/syntax/print/pprust.rs
@@ -332,6 +332,7 @@ fn print_type(s: ps, &&ty: @ast::ty) {
         word(s.s, "]");
       }
       ast::ty_ptr(mt) { word(s.s, "*"); print_mt(s, mt); }
+      ast::ty_rptr(region, mt) { fail "TODO"; }
       ast::ty_rec(fields) {
         word(s.s, "{");
         fn print_field(s: ps, f: ast::ty_field) {