about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorPaul Stansifer <paul.stansifer@gmail.com>2012-07-17 17:05:38 -0700
committerPaul Stansifer <paul.stansifer@gmail.com>2012-07-30 18:04:19 -0700
commit4e9c475527b0a4cbf43b14c028370b0f784fd99f (patch)
treeb59eed14241a82c1f2bed7e45fa2f0b5ebd2c789 /src/libsyntax/parse
parentbe3b733c49a1aeb5b99eb55a943f563531e1fc45 (diff)
downloadrust-4e9c475527b0a4cbf43b14c028370b0f784fd99f.tar.gz
rust-4e9c475527b0a4cbf43b14c028370b0f784fd99f.zip
Work around bug #2935 by unautounboxing.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/lexer.rs16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs
index f70a1fae59d..3c08fec743c 100644
--- a/src/libsyntax/parse/lexer.rs
+++ b/src/libsyntax/parse/lexer.rs
@@ -217,7 +217,7 @@ fn consume_any_line_comment(rdr: string_reader)
                     bump(rdr);
                 }
                 ret some({
-                    tok: token::DOC_COMMENT(rdr.interner.intern(@acc)),
+                    tok: token::DOC_COMMENT((*rdr.interner).intern(@acc)),
                     sp: ast_util::mk_sp(start_chpos, rdr.chpos)
                 });
             } else {
@@ -262,7 +262,7 @@ fn consume_block_comment(rdr: string_reader)
             bump(rdr);
             bump(rdr);
             ret some({
-                tok: token::DOC_COMMENT(rdr.interner.intern(@acc)),
+                tok: token::DOC_COMMENT((*rdr.interner).intern(@acc)),
                 sp: ast_util::mk_sp(start_chpos, rdr.chpos)
             });
         }
@@ -395,11 +395,13 @@ fn scan_number(c: char, rdr: string_reader) -> token::token {
         if c == '3' && n == '2' {
             bump(rdr);
             bump(rdr);
-            ret token::LIT_FLOAT(rdr.interner.intern(@num_str), ast::ty_f32);
+            ret token::LIT_FLOAT((*rdr.interner).intern(@num_str),
+                                 ast::ty_f32);
         } else if c == '6' && n == '4' {
             bump(rdr);
             bump(rdr);
-            ret token::LIT_FLOAT(rdr.interner.intern(@num_str), ast::ty_f64);
+            ret token::LIT_FLOAT((*rdr.interner).intern(@num_str),
+                                 ast::ty_f64);
             /* FIXME (#2252): if this is out of range for either a
             32-bit or 64-bit float, it won't be noticed till the
             back-end.  */
@@ -408,7 +410,7 @@ fn scan_number(c: char, rdr: string_reader) -> token::token {
         }
     }
     if is_float {
-        ret token::LIT_FLOAT(rdr.interner.intern(@num_str), ast::ty_f);
+        ret token::LIT_FLOAT((*rdr.interner).intern(@num_str), ast::ty_f);
     } else {
         if str::len(num_str) == 0u {
             rdr.fatal(~"no valid digits found for number");
@@ -456,7 +458,7 @@ fn next_token_inner(rdr: string_reader) -> token::token {
         let is_mod_name = c == ':' && nextch(rdr) == ':';
 
         // FIXME: perform NFKC normalization here. (Issue #2253)
-        ret token::IDENT(rdr.interner.intern(@accum_str), is_mod_name);
+        ret token::IDENT((*rdr.interner).intern(@accum_str), is_mod_name);
     }
     if is_dec_digit(c) {
         ret scan_number(c, rdr);
@@ -620,7 +622,7 @@ fn next_token_inner(rdr: string_reader) -> token::token {
             }
         }
         bump(rdr);
-        ret token::LIT_STR(rdr.interner.intern(@accum_str));
+        ret token::LIT_STR((*rdr.interner).intern(@accum_str));
       }
       '-' {
         if nextch(rdr) == '>' {