aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2021-01-05 15:17:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-01-05 15:17:38 +0000
commitc14c085a2b17d28475fc66b36464ba7723991bb3 (patch)
tree8d50c7635fe2e2189db2714df3c457a328bc8a19
parente1f7119b92c99aede6efd7b0f9bcbcf2667d538d (diff)
parentb38d84b4614f532321592cbb22f18b02ba8b68bd (diff)
downloadserde_json-c14c085a2b17d28475fc66b36464ba7723991bb3.tar.gz
Upgrade rust/crates/serde_json to 1.0.61 am: b38d84b461
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/serde_json/+/1537191 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Icd1609fcc7dfc0a57275c79614e14225aadb02f4
-rw-r--r--.cargo_vcs_info.json2
-rw-r--r--Android.bp10
-rw-r--r--Cargo.toml2
-rw-r--r--Cargo.toml.orig2
-rw-r--r--METADATA8
-rw-r--r--src/lib.rs5
-rw-r--r--src/value/from.rs36
-rw-r--r--src/value/mod.rs4
8 files changed, 54 insertions, 15 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index cef5ea9..62188b9 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
{
"git": {
- "sha1": "64bb3962bd70ae74d6e8a9daa496504c64033760"
+ "sha1": "613d66e9c5bec9b6eb07e296958553ab1f65522d"
}
}
diff --git a/Android.bp b/Android.bp
index e4d06af..11e3e28 100644
--- a/Android.bp
+++ b/Android.bp
@@ -21,11 +21,11 @@ rust_library {
}
// dependent_library ["feature_list"]
-// itoa-0.4.6
+// itoa-0.4.7
// proc-macro2-1.0.24 "default,proc-macro"
-// quote-1.0.7 "default,proc-macro"
+// quote-1.0.8 "default,proc-macro"
// ryu-1.0.5
-// serde-1.0.117 "default,derive,serde_derive,std"
-// serde_derive-1.0.117 "default"
-// syn-1.0.48 "clone-impls,default,derive,parsing,printing,proc-macro,quote,visit"
+// serde-1.0.118 "default,derive,serde_derive,std"
+// serde_derive-1.0.118 "default"
+// syn-1.0.56 "clone-impls,default,derive,parsing,printing,proc-macro,quote,visit"
// unicode-xid-0.2.1 "default"
diff --git a/Cargo.toml b/Cargo.toml
index 832b95c..3dc0caf 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@
[package]
edition = "2018"
name = "serde_json"
-version = "1.0.59"
+version = "1.0.61"
authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
include = ["build.rs", "src/**/*.rs", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
description = "A JSON serialization file format"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 03e6fb9..8e40912 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
[package]
name = "serde_json"
-version = "1.0.59" # remember to update html_root_url
+version = "1.0.61" # remember to update html_root_url
authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
license = "MIT OR Apache-2.0"
description = "A JSON serialization file format"
diff --git a/METADATA b/METADATA
index 015e8d4..af18989 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://static.crates.io/crates/serde_json/serde_json-1.0.59.crate"
+ value: "https://static.crates.io/crates/serde_json/serde_json-1.0.61.crate"
}
- version: "1.0.59"
+ version: "1.0.61"
license_type: NOTICE
last_upgrade_date {
year: 2020
- month: 10
- day: 26
+ month: 12
+ day: 29
}
}
diff --git a/src/lib.rs b/src/lib.rs
index 4b782a0..fba86e0 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -300,7 +300,7 @@
//! [macro]: https://docs.serde.rs/serde_json/macro.json.html
//! [`serde-json-core`]: https://japaric.github.io/serde-json-core/serde_json_core/
-#![doc(html_root_url = "https://docs.rs/serde_json/1.0.59")]
+#![doc(html_root_url = "https://docs.rs/serde_json/1.0.61")]
#![deny(clippy::all, clippy::pedantic)]
// Ignored clippy lints
#![allow(
@@ -309,10 +309,12 @@
clippy::doc_markdown,
clippy::excessive_precision,
clippy::float_cmp,
+ clippy::manual_range_contains,
clippy::match_like_matches_macro,
clippy::match_single_binding,
clippy::needless_doctest_main,
clippy::transmute_ptr_to_ptr,
+ clippy::unnecessary_wraps,
// clippy bug: https://github.com/rust-lang/rust-clippy/issues/5704
clippy::unnested_or_patterns,
)]
@@ -337,6 +339,7 @@
// things are often more readable this way
clippy::cast_lossless,
clippy::module_name_repetitions,
+ clippy::redundant_else,
clippy::shadow_unrelated,
clippy::single_match_else,
clippy::too_many_lines,
diff --git a/src/value/from.rs b/src/value/from.rs
index 93d3654..59e09fd 100644
--- a/src/value/from.rs
+++ b/src/value/from.rs
@@ -136,6 +136,22 @@ impl<'a> From<Cow<'a, str>> for Value {
}
}
+impl From<Number> for Value {
+ /// Convert `Number` to `Value`
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// use serde_json::{Number, Value};
+ ///
+ /// let n = Number::from(7);
+ /// let x: Value = n.into();
+ /// ```
+ fn from(f: Number) -> Self {
+ Value::Number(f)
+ }
+}
+
impl From<Map<String, Value>> for Value {
/// Convert map (with string keys) to `Value`
///
@@ -215,6 +231,26 @@ impl<T: Into<Value>> FromIterator<T> for Value {
}
}
+impl<K: Into<String>, V: Into<Value>> FromIterator<(K, V)> for Value {
+ /// Convert an iteratable type to a `Value`
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// use serde_json::Value;
+ ///
+ /// let v: Vec<_> = vec![("lorem", 40), ("ipsum", 2)];
+ /// let x: Value = v.into_iter().collect();
+ /// ```
+ fn from_iter<I: IntoIterator<Item = (K, V)>>(iter: I) -> Self {
+ Value::Object(
+ iter.into_iter()
+ .map(|(k, v)| (k.into(), v.into()))
+ .collect(),
+ )
+ }
+}
+
impl From<()> for Value {
/// Convert `()` to `Value`
///
diff --git a/src/value/mod.rs b/src/value/mod.rs
index bb636bf..07f4cc2 100644
--- a/src/value/mod.rs
+++ b/src/value/mod.rs
@@ -749,7 +749,7 @@ impl Value {
/// assert_eq!(data.pointer("/a/b/c"), None);
/// ```
pub fn pointer(&self, pointer: &str) -> Option<&Value> {
- if pointer == "" {
+ if pointer.is_empty() {
return Some(self);
}
if !pointer.starts_with('/') {
@@ -814,7 +814,7 @@ impl Value {
/// }
/// ```
pub fn pointer_mut(&mut self, pointer: &str) -> Option<&mut Value> {
- if pointer == "" {
+ if pointer.is_empty() {
return Some(self);
}
if !pointer.starts_with('/') {