about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorEric Holk <eric.holk@gmail.com>2012-07-05 23:04:56 -0700
committerEric Holk <eric.holk@gmail.com>2012-07-06 10:42:40 -0700
commitfa4134611dfc54e117f196644d30948a75b7b9eb (patch)
treea53b85b9b44bcdcf80bbe2a55234c80ad0680fac /src/libsyntax/parse
parent6806aa0e66028a218de96edd72b11e0ffa4de4e2 (diff)
downloadrust-fa4134611dfc54e117f196644d30948a75b7b9eb.tar.gz
rust-fa4134611dfc54e117f196644d30948a75b7b9eb.zip
Fixing an infinite type, updating code to match new Early parser, remembering to add protocol parser.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/token.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs
index ef1d0f4bc47..dbc1e8b34e3 100644
--- a/src/libsyntax/parse/token.rs
+++ b/src/libsyntax/parse/token.rs
@@ -96,7 +96,10 @@ enum whole_nt {
     w_ty(  @ast::ty),
     w_ident(str_num, bool),
     w_path(@ast::path),
-    w_tt(ast::token_tree),
+    // TODO: this seems to cause infinite recursion in
+    // type_structually_contains if it's not an @-box. We should at least get
+    // failure instead.
+    w_tt(@ast::token_tree),
 }
 
 fn binop_to_str(o: binop) -> str {
@@ -190,6 +193,7 @@ fn to_str(in: interner<@str>, t: token) -> str {
               w_stmt(*) { "statement" } w_pat(*) { "pattern" }
               w_expr(*) { "expression" } w_ty(*) { "type" }
               w_ident(*) { "identifier" } w_path(*) { "path" }
+              w_tt(*) { "tt" }
         }
       }
     }