librustc: Remove all uses of "copy".
This commit is contained in:
parent
b4e674f6e6
commit
99b33f7219
278 changed files with 3196 additions and 2610 deletions
|
@ -30,6 +30,7 @@ use sort::Sort;
|
|||
use treemap::TreeMap;
|
||||
|
||||
/// Represents a json value
|
||||
#[deriving(Clone, Eq)]
|
||||
pub enum Json {
|
||||
Number(float),
|
||||
String(~str),
|
||||
|
@ -1113,43 +1114,6 @@ impl serialize::Decoder for Decoder {
|
|||
}
|
||||
}
|
||||
|
||||
impl Eq for Json {
|
||||
fn eq(&self, other: &Json) -> bool {
|
||||
match (self) {
|
||||
&Number(f0) =>
|
||||
match other { &Number(f1) => f0 == f1, _ => false },
|
||||
&String(ref s0) =>
|
||||
match other { &String(ref s1) => s0 == s1, _ => false },
|
||||
&Boolean(b0) =>
|
||||
match other { &Boolean(b1) => b0 == b1, _ => false },
|
||||
&Null =>
|
||||
match other { &Null => true, _ => false },
|
||||
&List(ref v0) =>
|
||||
match other { &List(ref v1) => v0 == v1, _ => false },
|
||||
&Object(ref d0) => {
|
||||
match other {
|
||||
&Object(ref d1) => {
|
||||
if d0.len() == d1.len() {
|
||||
let mut equal = true;
|
||||
for d0.iter().advance |(k, v0)| {
|
||||
match d1.find(k) {
|
||||
Some(v1) if v0 == v1 => { },
|
||||
_ => { equal = false; break }
|
||||
}
|
||||
};
|
||||
equal
|
||||
} else {
|
||||
false
|
||||
}
|
||||
}
|
||||
_ => false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fn ne(&self, other: &Json) -> bool { !self.eq(other) }
|
||||
}
|
||||
|
||||
/// Test if two json values are less than one another
|
||||
impl Ord for Json {
|
||||
fn lt(&self, other: &Json) -> bool {
|
||||
|
@ -1195,12 +1159,12 @@ impl Ord for Json {
|
|||
|
||||
// FIXME #4430: this is horribly inefficient...
|
||||
for d0.iter().advance |(k, v)| {
|
||||
d0_flat.push((@copy *k, @copy *v));
|
||||
d0_flat.push((@(*k).clone(), @(*v).clone()));
|
||||
}
|
||||
d0_flat.qsort();
|
||||
|
||||
for d1.iter().advance |(k, v)| {
|
||||
d1_flat.push((@copy *k, @copy *v));
|
||||
d1_flat.push((@(*k).clone(), @(*v).clone()));
|
||||
}
|
||||
d1_flat.qsort();
|
||||
|
||||
|
@ -1232,7 +1196,7 @@ pub trait ToJson {
|
|||
}
|
||||
|
||||
impl ToJson for Json {
|
||||
fn to_json(&self) -> Json { copy *self }
|
||||
fn to_json(&self) -> Json { (*self).clone() }
|
||||
}
|
||||
|
||||
impl ToJson for @Json {
|
||||
|
@ -1300,11 +1264,11 @@ impl ToJson for bool {
|
|||
}
|
||||
|
||||
impl ToJson for ~str {
|
||||
fn to_json(&self) -> Json { String(copy *self) }
|
||||
fn to_json(&self) -> Json { String((*self).clone()) }
|
||||
}
|
||||
|
||||
impl ToJson for @~str {
|
||||
fn to_json(&self) -> Json { String(copy **self) }
|
||||
fn to_json(&self) -> Json { String((**self).clone()) }
|
||||
}
|
||||
|
||||
impl<A:ToJson,B:ToJson> ToJson for (A, B) {
|
||||
|
@ -1335,7 +1299,7 @@ impl<A:ToJson> ToJson for HashMap<~str, A> {
|
|||
fn to_json(&self) -> Json {
|
||||
let mut d = HashMap::new();
|
||||
for self.iter().advance |(key, value)| {
|
||||
d.insert(copy *key, value.to_json());
|
||||
d.insert((*key).clone(), value.to_json());
|
||||
}
|
||||
Object(~d)
|
||||
}
|
||||
|
@ -1345,7 +1309,7 @@ impl<A:ToJson> ToJson for TreeMap<~str, A> {
|
|||
fn to_json(&self) -> Json {
|
||||
let mut d = HashMap::new();
|
||||
for self.iter().advance |(key, value)| {
|
||||
d.insert(copy *key, value.to_json());
|
||||
d.insert((*key).clone(), value.to_json());
|
||||
}
|
||||
Object(~d)
|
||||
}
|
||||
|
@ -1404,7 +1368,7 @@ mod tests {
|
|||
|
||||
for items.iter().advance |item| {
|
||||
match *item {
|
||||
(ref key, ref value) => { d.insert(copy *key, copy *value); },
|
||||
(ref key, ref value) => { d.insert((*key).clone(), (*value).clone()); },
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1549,8 +1513,8 @@ mod tests {
|
|||
|
||||
// We can't compare the strings directly because the object fields be
|
||||
// printed in a different order.
|
||||
assert_eq!(copy a, from_str(to_str(&a)).unwrap());
|
||||
assert_eq!(copy a, from_str(to_pretty_str(&a)).unwrap());
|
||||
assert_eq!(a.clone(), from_str(to_str(&a)).unwrap());
|
||||
assert_eq!(a.clone(), from_str(to_pretty_str(&a)).unwrap());
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue