Skip to content

Commit 94ac819

Browse files
committed
Upgrade to rustc 1.0.0-nightly (c89de2c56 2015-03-28) (built 2015-03-29)
1 parent 6b1ae50 commit 94ac819

File tree

1 file changed

+10
-18
lines changed

1 file changed

+10
-18
lines changed

src/tests.rs

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ fn almost_equals(a: &Json, b: &Json) -> bool {
7474
fn normalize(json: &mut Json) {
7575
match *json {
7676
Json::Array(ref mut list) => {
77-
match find_url(list.as_mut_slice()) {
77+
match find_url(list) {
7878
Some(Ok(url)) => *list = vec!["url".to_json(), Json::String(url)],
7979
Some(Err(())) => *list = vec!["error".to_json(), "bad-url".to_json()],
8080
None => {
@@ -94,25 +94,17 @@ fn normalize(json: &mut Json) {
9494
}
9595

9696
fn find_url(list: &mut [Json]) -> Option<Result<String, ()>> {
97-
if let [Json::String(ref a1), Json::String(ref a2), ..] = list.as_mut_slice() {
98-
if !(*a1 == "function" && *a2 == "url") {
99-
return None
100-
}
101-
} else {
97+
if list.len() < 2 ||
98+
list[0].as_string() != Some("function") ||
99+
list[1].as_string() != Some("url") {
102100
return None
103-
};
104-
let args = &mut list[2..];
105-
106-
let args = if !args.is_empty() && args[0] == " ".to_json() {
107-
&mut args[1..]
108-
} else {
109-
&mut args[..]
110-
};
101+
}
111102

112-
if let [Json::Array(ref mut arg1), ref rest..] = args.as_mut_slice() {
113-
if let [Json::String(ref a11), Json::String(ref mut a12)] = arg1.as_mut_slice() {
114-
if *a11 == "string" && rest.iter().all(|a| a == &" ".to_json()) {
115-
return Some(Ok(mem::replace(a12, String::new())))
103+
let mut args = list[2..].iter_mut().filter(|a| a.as_string() != Some(" "));
104+
if let (Some(&mut Json::Array(ref mut arg)), None) = (args.next(), args.next()) {
105+
if arg.len() == 2 && arg[0].as_string() == Some("string") {
106+
if let &mut Json::String(ref mut value) = &mut arg[1] {
107+
return Some(Ok(mem::replace(value, String::new())))
116108
}
117109
}
118110
}

0 commit comments

Comments
 (0)