diff options
Diffstat (limited to 'src/rustc/syntax')
| -rw-r--r-- | src/rustc/syntax/ast.rs | 7 | ||||
| -rw-r--r-- | src/rustc/syntax/fold.rs | 1 | ||||
| -rw-r--r-- | src/rustc/syntax/print/pprust.rs | 1 |
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) { |
