diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-03-27 13:53:03 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-03-27 13:53:03 -0700 |
| commit | e5dda811a9818a3289a3a1354f98731e46730bd9 (patch) | |
| tree | 0ed9d458c99fe4edb7fd97fb5f58f691e125cffe /src/libsyntax/parse | |
| parent | b93393e907eddab513fa2be541af4356b8203282 (diff) | |
| download | rust-e5dda811a9818a3289a3a1354f98731e46730bd9.tar.gz rust-e5dda811a9818a3289a3a1354f98731e46730bd9.zip | |
librustc: Allow expr_repeat to be used with any vstore
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 53d618e3340..1d88ba70e04 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -232,7 +232,7 @@ pub fn Parser(sess: @mut ParseSess, token: @mut copy tok0.tok, span: @mut copy tok0.sp, last_span: @mut copy tok0.sp, - buffer: @mut [copy tok0, .. 4], + buffer: @mut ([copy tok0, .. 4]), buffer_start: @mut 0, buffer_end: @mut 0, tokens_consumed: @mut 0, @@ -1660,12 +1660,11 @@ pub impl Parser { hi = e.span.hi; // HACK: turn @[...] into a @-evec ex = match e.node { - expr_vec(*) if m == m_mutbl => + expr_vec(*) | expr_repeat(*) if m == m_mutbl => expr_vstore(e, expr_vstore_mut_box), - expr_vec(*) if m == m_imm => expr_vstore(e, expr_vstore_box), - expr_lit(@codemap::spanned { - node: lit_str(_), span: _}) if m == m_imm => - expr_vstore(e, expr_vstore_box), + expr_vec(*) | + expr_lit(@codemap::spanned { node: lit_str(_), span: _}) | + expr_repeat(*) if m == m_imm => expr_vstore(e, expr_vstore_box), _ => expr_unary(box(m), e) }; } @@ -1680,8 +1679,9 @@ pub impl Parser { hi = e.span.hi; // HACK: turn ~[...] into a ~-evec ex = match e.node { - expr_vec(*) | expr_lit(@codemap::spanned { - node: lit_str(_), span: _}) + expr_vec(*) | + expr_lit(@codemap::spanned { node: lit_str(_), span: _}) | + expr_repeat(*) if m == m_imm => expr_vstore(e, expr_vstore_uniq), _ => expr_unary(uniq(m), e) }; |
