1
Fork 0

libstd: Get rid of move.

This commit is contained in:
Luqman Aden 2013-02-15 02:30:30 -05:00 committed by Luqman Aden
parent 9727008ed0
commit 4cf51c2531
31 changed files with 357 additions and 363 deletions

View file

@ -388,18 +388,18 @@ pub fn Parser(rdr: io::Reader) -> Parser {
pub impl Parser {
fn parse() -> Result<Json, Error> {
match move self.parse_value() {
Ok(move value) => {
match self.parse_value() {
Ok(value) => {
// Skip trailing whitespaces.
self.parse_whitespace();
// Make sure there is no trailing characters.
if self.eof() {
Ok(move value)
Ok(value)
} else {
self.error(~"trailing characters")
}
}
Err(move e) => Err(e)
Err(e) => Err(e)
}
}
}
@ -438,9 +438,9 @@ priv impl Parser {
'f' => self.parse_ident(~"alse", Boolean(false)),
'0' .. '9' | '-' => self.parse_number(),
'"' =>
match move self.parse_str() {
Ok(move s) => Ok(String(s)),
Err(move e) => Err(e),
match self.parse_str() {
Ok(s) => Ok(String(s)),
Err(e) => Err(e),
},
'[' => self.parse_list(),
'{' => self.parse_object(),
@ -455,7 +455,7 @@ priv impl Parser {
fn parse_ident(ident: &str, value: Json) -> Result<Json, Error> {
if str::all(ident, |c| c == self.next_char()) {
self.bump();
Ok(move value)
Ok(value)
} else {
self.error(~"invalid syntax")
}
@ -662,13 +662,13 @@ priv impl Parser {
if self.ch == ']' {
self.bump();
return Ok(List(move values));
return Ok(List(values));
}
loop {
match move self.parse_value() {
Ok(move v) => values.push(move v),
Err(move e) => return Err(e)
match self.parse_value() {
Ok(v) => values.push(v),
Err(e) => return Err(e)
}
self.parse_whitespace();
@ -678,7 +678,7 @@ priv impl Parser {
match self.ch {
',' => self.bump(),
']' => { self.bump(); return Ok(List(move values)); }
']' => { self.bump(); return Ok(List(values)); }
_ => return self.error(~"expected `,` or `]`")
}
};
@ -692,7 +692,7 @@ priv impl Parser {
if self.ch == '}' {
self.bump();
return Ok(Object(move values));
return Ok(Object(values));
}
while !self.eof() {
@ -702,9 +702,9 @@ priv impl Parser {
return self.error(~"key must be a string");
}
let key = match move self.parse_str() {
Ok(move key) => key,
Err(move e) => return Err(e)
let key = match self.parse_str() {
Ok(key) => key,
Err(e) => return Err(e)
};
self.parse_whitespace();
@ -715,15 +715,15 @@ priv impl Parser {
}
self.bump();
match move self.parse_value() {
Ok(move value) => { values.insert(key, move value); }
Err(move e) => return Err(e)
match self.parse_value() {
Ok(value) => { values.insert(key, value); }
Err(e) => return Err(e)
}
self.parse_whitespace();
match self.ch {
',' => self.bump(),
'}' => { self.bump(); return Ok(Object(move values)); }
'}' => { self.bump(); return Ok(Object(values)); }
_ => {
if self.eof() { break; }
return self.error(~"expected `,` or `}`");
@ -753,7 +753,7 @@ pub struct Decoder {
}
pub fn Decoder(json: Json) -> Decoder {
Decoder { json: move json, stack: ~[] }
Decoder { json: json, stack: ~[] }
}
priv impl Decoder {
@ -868,7 +868,7 @@ pub impl Decoder: serialize::Decoder {
};
let res = f(len);
self.pop();
move res
res
}
fn read_managed_vec<T>(&self, f: fn(uint) -> T) -> T {
@ -879,7 +879,7 @@ pub impl Decoder: serialize::Decoder {
};
let res = f(len);
self.pop();
move res
res
}
fn read_vec_elt<T>(&self, idx: uint, f: fn() -> T) -> T {
@ -897,14 +897,14 @@ pub impl Decoder: serialize::Decoder {
debug!("read_rec()");
let value = f();
self.pop();
move value
value
}
fn read_struct<T>(&self, _name: &str, _len: uint, f: fn() -> T) -> T {
debug!("read_struct()");
let value = f();
self.pop();
move value
value
}
fn read_field<T>(&self, name: &str, idx: uint, f: fn() -> T) -> T {
@ -934,7 +934,7 @@ pub impl Decoder: serialize::Decoder {
debug!("read_tup(len=%u)", len);
let value = f();
self.pop();
move value
value
}
fn read_tup_elt<T>(&self, idx: uint, f: fn() -> T) -> T {
@ -1219,11 +1219,11 @@ mod tests {
for items.each |item| {
match *item {
(copy key, copy value) => { d.insert(key, move value); },
(copy key, copy value) => { d.insert(key, value); },
}
};
Object(move d)
Object(d)
}
#[test]