diff options
| author | Paul Stansifer <paul.stansifer@gmail.com> | 2012-07-17 17:05:38 -0700 |
|---|---|---|
| committer | Paul Stansifer <paul.stansifer@gmail.com> | 2012-07-30 18:04:19 -0700 |
| commit | 4e9c475527b0a4cbf43b14c028370b0f784fd99f (patch) | |
| tree | b59eed14241a82c1f2bed7e45fa2f0b5ebd2c789 /src/libsyntax/parse | |
| parent | be3b733c49a1aeb5b99eb55a943f563531e1fc45 (diff) | |
| download | rust-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.rs | 16 |
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) == '>' { |
