]> git.lizzy.rs Git - rust.git/blobdiff - src/libserialize/json.rs
Rollup merge of #65613 - Mark-Simulacrum:rustdoc-preserve-ws, r=GuillaumeGomez
[rust.git] / src / libserialize / json.rs
index d0007074a823caa70776fb787dbe4a4e015e9866..d2e360f5e20fd972cb5baa1b521ca1df2de664c8 100644 (file)
@@ -1053,12 +1053,12 @@ pub fn find_path<'a>(&'a self, keys: &[&str]) -> Option<&'a Json>{
     /// a value associated with the provided key is found. If no value is found
     /// or the Json value is not an Object, returns `None`.
     pub fn search(&self, key: &str) -> Option<&Json> {
-        match self {
-            &Json::Object(ref map) => {
+        match *self {
+            Json::Object(ref map) => {
                 match map.get(key) {
                     Some(json_value) => Some(json_value),
                     None => {
-                        for (_, v) in map {
+                        for v in map.values() {
                             match v.search(key) {
                                 x if x.is_some() => return x,
                                 _ => ()
@@ -1487,12 +1487,12 @@ fn parse_whitespace(&mut self) {
     }
 
     fn parse_number(&mut self) -> JsonEvent {
-        let mut neg = false;
-
-        if self.ch_is('-') {
+        let neg = if self.ch_is('-') {
             self.bump();
-            neg = true;
-        }
+            true
+        } else {
+            false
+        };
 
         let res = match self.parse_u64() {
             Ok(res) => res,
@@ -2162,10 +2162,9 @@ fn read_char(&mut self) -> DecodeResult<char> {
         let s = self.read_str()?;
         {
             let mut it = s.chars();
-            match (it.next(), it.next()) {
+            if let (Some(c), None) = (it.next(), it.next()) {
                 // exactly one character
-                (Some(c), None) => return Ok(c),
-                _ => ()
+                return Ok(c);
             }
         }
         Err(ExpectedError("single character string".to_owned(), s.to_string()))