Skip to content

Commit 19dafb9

Browse files
committed
---
yaml --- r: 44714 b: refs/heads/master c: d204386 h: refs/heads/master v: v3
1 parent 30f6422 commit 19dafb9

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
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: f14409c528125836a5cbe9d4d7a39b8d6695f7b1
2+
refs/heads/master: d20438695e133586d230e7e687473ad39acc52d3
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: a6d9689399d091c3265f00434a69c551a61c28dc
55
refs/heads/try: ef355f6332f83371e4acf04fc4eb940ab41d78d3

trunk/src/libsyntax/parse/lexer.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,26 +103,32 @@ fn dup_string_reader(r: @mut StringReader) -> @mut StringReader {
103103
curr: r.curr,
104104
filemap: r.filemap,
105105
interner: r.interner,
106-
peek_tok: r.peek_tok,
107-
peek_span: r.peek_span
106+
peek_tok: copy r.peek_tok,
107+
peek_span: copy r.peek_span
108108
}
109109
}
110110

111111
impl reader for StringReader {
112112
fn is_eof(@mut self) -> bool { is_eof(self) }
113113
// return the next token. EFFECT: advances the string_reader.
114114
fn next_token(@mut self) -> TokenAndSpan {
115-
let ret_val = TokenAndSpan {tok: self.peek_tok, sp: self.peek_span};
115+
let ret_val = TokenAndSpan {
116+
tok: copy self.peek_tok,
117+
sp: copy self.peek_span,
118+
};
116119
string_advance_token(self);
117-
return ret_val;
120+
ret_val
118121
}
119122
fn fatal(@mut self, m: ~str) -> ! {
120123
self.span_diagnostic.span_fatal(copy self.peek_span, m)
121124
}
122125
fn span_diag(@mut self) -> span_handler { self.span_diagnostic }
123126
pure fn interner(@mut self) -> @token::ident_interner { self.interner }
124127
fn peek(@mut self) -> TokenAndSpan {
125-
TokenAndSpan {tok: self.peek_tok, sp: self.peek_span}
128+
TokenAndSpan {
129+
tok: copy self.peek_tok,
130+
sp: copy self.peek_span,
131+
}
126132
}
127133
fn dup(@mut self) -> reader { dup_string_reader(self) as reader }
128134
}
@@ -136,7 +142,10 @@ pub impl reader for TtReader {
136142
fn span_diag(@mut self) -> span_handler { self.sp_diag }
137143
pure fn interner(@mut self) -> @token::ident_interner { self.interner }
138144
fn peek(@mut self) -> TokenAndSpan {
139-
TokenAndSpan { tok: self.cur_tok, sp: self.cur_span }
145+
TokenAndSpan {
146+
tok: copy self.cur_tok,
147+
sp: copy self.cur_span,
148+
}
140149
}
141150
fn dup(@mut self) -> reader { dup_tt_reader(self) as reader }
142151
}
@@ -145,8 +154,8 @@ pub impl reader for TtReader {
145154
fn string_advance_token(r: @mut StringReader) {
146155
match (consume_whitespace_and_comments(r)) {
147156
Some(comment) => {
148-
r.peek_tok = comment.tok;
149-
r.peek_span = comment.sp;
157+
r.peek_tok = copy comment.tok;
158+
r.peek_span = copy comment.sp;
150159
},
151160
None => {
152161
if is_eof(r) {

0 commit comments

Comments
 (0)