Skip to content

Commit 9fb9fb3

Browse files
committed
---
yaml --- r: 13305 b: refs/heads/master c: 45680c8 h: refs/heads/master i: 13303: f0ee75e v: v3
1 parent 135e59b commit 9fb9fb3

File tree

6 files changed

+43
-41
lines changed

6 files changed

+43
-41
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: c3b266f50f5f7a05761a06fbe30c14451e86ca31
2+
refs/heads/master: 45680c83ab81986bbedf93878e3d24f69be02981
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf

trunk/src/libsyntax/ext/simplext.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import codemap::span;
22
import std::map::{hashmap, str_hash};
3+
import dvec::{dvec, extensions};
34

45
import base::*;
56

@@ -134,7 +135,7 @@ fn compose_sels(s1: selector, s2: selector) -> selector {
134135

135136
type binders =
136137
{real_binders: hashmap<ident, selector>,
137-
mut literal_ast_matchers: [selector]};
138+
literal_ast_matchers: dvec<selector>};
138139
type bindings = hashmap<ident, arb_depth<matchable>>;
139140

140141
fn acumm_bindings(_cx: ext_ctxt, _b_dest: bindings, _b_src: bindings) { }
@@ -146,7 +147,7 @@ fn acumm_bindings(_cx: ext_ctxt, _b_dest: bindings, _b_src: bindings) { }
146147
fn pattern_to_selectors(cx: ext_ctxt, e: @expr) -> binders {
147148
let res: binders =
148149
{real_binders: str_hash::<selector>(),
149-
mut literal_ast_matchers: []};
150+
literal_ast_matchers: dvec()};
150151
//this oughta return binders instead, but macro args are a sequence of
151152
//expressions, rather than a single expression
152153
fn trivial_selector(m: matchable) -> match_result { ret some(leaf(m)); }
@@ -474,7 +475,7 @@ fn p_t_s_rec(cx: ext_ctxt, m: matchable, s: selector, b: binders) {
474475
_ { cx.bug("broken traversal in p_t_s_r") }
475476
}
476477
}
477-
b.literal_ast_matchers += [bind select(cx, _, e)];
478+
b.literal_ast_matchers.push(bind select(cx, _, e));
478479
}
479480
}
480481
}
@@ -640,8 +641,8 @@ fn p_t_s_r_length(cx: ext_ctxt, len: uint, at_least: bool, s: selector,
640641
_ { none }
641642
}
642643
}
643-
b.literal_ast_matchers +=
644-
[compose_sels(s, bind len_select(cx, _, at_least, len))];
644+
b.literal_ast_matchers.push(
645+
compose_sels(s, bind len_select(cx, _, at_least, len)));
645646
}
646647

647648
fn p_t_s_r_actual_vector(cx: ext_ctxt, elts: [@expr], _repeat_after: bool,

trunk/src/libsyntax/parse/common.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ fn seq_sep_none() -> seq_sep {
1818
}
1919

2020

21-
fn token_to_str(reader: reader, token: token::token) -> str {
21+
fn token_to_str(reader: reader, ++token: token::token) -> str {
2222
token::to_str(*reader.interner, token)
2323
}
2424

@@ -27,8 +27,9 @@ fn token_to_str(reader: reader, token: token::token) -> str {
2727
impl parser_common for parser {
2828

2929
fn unexpected_last(t: token::token) -> ! {
30-
self.span_fatal(self.last_span, "unexpected token: '"
31-
+ token_to_str(self.reader, t) + "'");
30+
self.span_fatal(
31+
copy self.last_span,
32+
"unexpected token: '" + token_to_str(self.reader, t) + "'");
3233
}
3334

3435
fn unexpected() -> ! {
@@ -49,7 +50,7 @@ impl parser_common for parser {
4950
}
5051

5152
fn parse_ident() -> ast::ident {
52-
alt self.token {
53+
alt copy self.token {
5354
token::IDENT(i, _) { self.bump(); ret self.get_str(i); }
5455
_ { self.fatal("expecting ident, found "
5556
+ token_to_str(self.reader, self.token)); }
@@ -79,7 +80,7 @@ impl parser_common for parser {
7980
}
8081
}
8182

82-
fn token_is_keyword(word: str, tok: token::token) -> bool {
83+
fn token_is_keyword(word: str, ++tok: token::token) -> bool {
8384
self.require_keyword(word);
8485
alt tok {
8586
token::IDENT(sid, false) { str::eq(word, self.get_str(sid)) }
@@ -93,7 +94,7 @@ impl parser_common for parser {
9394

9495
fn eat_keyword(word: str) -> bool {
9596
self.require_keyword(word);
96-
alt self.token {
97+
alt copy self.token {
9798
token::IDENT(sid, false) {
9899
if str::eq(word, self.get_str(sid)) {
99100
self.bump();

trunk/src/libsyntax/parse/parser.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -121,16 +121,16 @@ class parser {
121121
ret self.buffer[distance - 1u].tok;
122122
}
123123
fn fatal(m: str) -> ! {
124-
self.sess.span_diagnostic.span_fatal(self.span, m)
124+
self.sess.span_diagnostic.span_fatal(copy self.span, m)
125125
}
126126
fn span_fatal(sp: span, m: str) -> ! {
127127
self.sess.span_diagnostic.span_fatal(sp, m)
128128
}
129129
fn bug(m: str) -> ! {
130-
self.sess.span_diagnostic.span_bug(self.span, m)
130+
self.sess.span_diagnostic.span_bug(copy self.span, m)
131131
}
132132
fn warn(m: str) {
133-
self.sess.span_diagnostic.span_warn(self.span, m)
133+
self.sess.span_diagnostic.span_warn(copy self.span, m)
134134
}
135135
fn get_str(i: token::str_num) -> str {
136136
interner::get(*self.reader.interner, i)
@@ -307,7 +307,7 @@ class parser {
307307
// Parses something like "&x"
308308
fn parse_region() -> @region {
309309
self.expect(token::BINOP(token::AND));
310-
alt self.token {
310+
alt copy self.token {
311311
token::IDENT(sid, _) {
312312
self.bump();
313313
let n = self.get_str(sid);
@@ -322,7 +322,7 @@ class parser {
322322
// Parses something like "&x." (note the trailing dot)
323323
fn parse_region_dot() -> @region {
324324
let name =
325-
alt self.token {
325+
alt copy self.token {
326326
token::IDENT(sid, _) if self.look_ahead(1u) == token::DOT {
327327
self.bump(); self.bump();
328328
some(self.get_str(sid))
@@ -483,11 +483,11 @@ class parser {
483483
}
484484

485485
fn maybe_parse_dollar_mac() -> option<mac_> {
486-
alt self.token {
486+
alt copy self.token {
487487
token::DOLLAR {
488488
let lo = self.span.lo;
489489
self.bump();
490-
alt self.token {
490+
alt copy self.token {
491491
token::LIT_INT(num, ty_i) {
492492
self.bump();
493493
some(mac_var(num as uint))
@@ -511,7 +511,7 @@ class parser {
511511
fn maybe_parse_vstore() -> option<vstore> {
512512
if self.token == token::BINOP(token::SLASH) {
513513
self.bump();
514-
alt self.token {
514+
alt copy self.token {
515515
token::AT {
516516
self.bump(); some(vstore_box)
517517
}
@@ -968,7 +968,7 @@ class parser {
968968
loop {
969969
// expr.f
970970
if self.eat(token::DOT) {
971-
alt self.token {
971+
alt copy self.token {
972972
token::IDENT(i, _) {
973973
hi = self.span.hi;
974974
self.bump();
@@ -986,7 +986,7 @@ class parser {
986986
cont;
987987
}
988988
if self.expr_is_complete(e) { break; }
989-
alt self.token {
989+
alt copy self.token {
990990
// expr(...)
991991
token::LPAREN if self.permits_call() {
992992
let es_opt = self.parse_seq(token::LPAREN, token::RPAREN,
@@ -1042,7 +1042,7 @@ class parser {
10421042
let mut hi;
10431043

10441044
let mut ex;
1045-
alt self.token {
1045+
alt copy self.token {
10461046
token::NOT {
10471047
self.bump();
10481048
let e = self.to_expr(self.parse_prefix_expr());
@@ -1134,7 +1134,7 @@ class parser {
11341134
fn parse_assign_expr() -> @expr {
11351135
let lo = self.span.lo;
11361136
let lhs = self.parse_binops();
1137-
alt self.token {
1137+
alt copy self.token {
11381138
token::EQ {
11391139
self.bump();
11401140
let rhs = self.parse_expr();
@@ -1831,7 +1831,7 @@ class parser {
18311831
}
18321832

18331833
fn parse_method_name() -> ident {
1834-
alt self.token {
1834+
alt copy self.token {
18351835
token::BINOP(op) { self.bump(); token::binop_to_str(op) }
18361836
token::NOT { self.bump(); "!" }
18371837
token::LBRACKET { self.bump(); self.expect(token::RBRACKET); "[]" }
@@ -2375,7 +2375,7 @@ class parser {
23752375
while self.token == token::MOD_SEP {
23762376
self.bump();
23772377

2378-
alt self.token {
2378+
alt copy self.token {
23792379

23802380
token::IDENT(i, _) {
23812381
self.bump();
@@ -2477,7 +2477,7 @@ class parser {
24772477
}
24782478

24792479
fn parse_str() -> str {
2480-
alt self.token {
2480+
alt copy self.token {
24812481
token::LIT_STR(s) { self.bump(); self.get_str(s) }
24822482
_ {
24832483
self.fatal("expected string literal")

trunk/src/libsyntax/print/pp.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ type break_t = {offset: int, blank_space: int};
5959

6060
type begin_t = {offset: int, breaks: breaks};
6161

62-
enum token { STRING(str, int), BREAK(break_t), BEGIN(begin_t), END, EOF, }
62+
enum token { STRING(@str, int), BREAK(break_t), BEGIN(begin_t), END, EOF, }
6363

64-
fn tok_str(t: token) -> str {
64+
fn tok_str(++t: token) -> str {
6565
alt t {
66-
STRING(s, len) { ret #fmt["STR(%s,%d)", s, len]; }
66+
STRING(s, len) { ret #fmt["STR(%s,%d)", *s, len]; }
6767
BREAK(_) { ret "BREAK"; }
6868
BEGIN(_) { ret "BEGIN"; }
6969
END { ret "END"; }
@@ -109,8 +109,8 @@ fn mk_printer(out: io::writer, linewidth: uint) -> printer {
109109
mut space: linewidth as int,
110110
mut left: 0u,
111111
mut right: 0u,
112-
mut token: token,
113-
mut size: size,
112+
token: token,
113+
size: size,
114114
mut left_total: 0,
115115
mut right_total: 0,
116116
mut scan_stack: scan_stack,
@@ -206,8 +206,8 @@ type printer = @{
206206
mut space: int, // number of spaces left on line
207207
mut left: uint, // index of left side of input stream
208208
mut right: uint, // index of right side of input stream
209-
mut token: [mut token], // ring-buffr stream goes through
210-
mut size: [mut int], // ring-buffer of calculated sizes
209+
token: [mut token], // ring-buffr stream goes through
210+
size: [mut int], // ring-buffer of calculated sizes
211211
mut left_total: int, // running size of stream "...left"
212212
mut right_total: int, // running size of stream "...right"
213213
// pseudo-stack, really a ring too. Holds the
@@ -346,7 +346,7 @@ impl printer for printer {
346346
self.right %= self.buf_len;
347347
assert (self.right != self.left);
348348
}
349-
fn advance_left(x: token, L: int) {
349+
fn advance_left(++x: token, L: int) {
350350
#debug("advnce_left [%u,%u], sizeof(%u)=%d", self.left, self.right,
351351
self.left, L);
352352
if L >= 0 {
@@ -367,7 +367,7 @@ impl printer for printer {
367367
fn check_stack(k: int) {
368368
if !self.scan_stack_empty {
369369
let x = self.scan_top();
370-
alt self.token[x] {
370+
alt copy self.token[x] {
371371
BEGIN(b) {
372372
if k > 0 {
373373
self.size[self.scan_pop()] = self.size[x] +
@@ -465,7 +465,7 @@ impl printer for printer {
465465
assert (L == len);
466466
// assert L <= space;
467467
self.space -= len;
468-
self.write_str(s);
468+
self.write_str(*s);
469469
}
470470
EOF {
471471
// EOF should never get here.
@@ -493,14 +493,14 @@ fn end(p: printer) { p.pretty_print(END); }
493493
fn eof(p: printer) { p.pretty_print(EOF); }
494494

495495
fn word(p: printer, wrd: str) {
496-
p.pretty_print(STRING(wrd, str::len(wrd) as int));
496+
p.pretty_print(STRING(@wrd, str::len(wrd) as int));
497497
}
498498

499499
fn huge_word(p: printer, wrd: str) {
500-
p.pretty_print(STRING(wrd, size_infinity));
500+
p.pretty_print(STRING(@wrd, size_infinity));
501501
}
502502

503-
fn zero_word(p: printer, wrd: str) { p.pretty_print(STRING(wrd, 0)); }
503+
fn zero_word(p: printer, wrd: str) { p.pretty_print(STRING(@wrd, 0)); }
504504

505505
fn spaces(p: printer, n: uint) { break_offset(p, n, 0); }
506506

trunk/src/libsyntax/print/pprust.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1703,7 +1703,7 @@ fn print_comment(s: ps, cmnt: comments::cmnt) {
17031703
// We need to do at least one, possibly two hardbreaks.
17041704
let is_semi =
17051705
alt s.s.last_token() {
1706-
pp::STRING(s, _) { s == ";" }
1706+
pp::STRING(s, _) { *s == ";" }
17071707
_ { false }
17081708
};
17091709
if is_semi || is_begin(s) || is_end(s) { hardbreak(s.s); }

0 commit comments

Comments
 (0)