Mark ab/6881855 as merged

Bug: 172690556
Change-Id: Iec73f31fd85fec36caceddf10fa3c04178df45bc
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index da72c62..8e3161d 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
 {
   "git": {
-    "sha1": "2ef60b62acccda9715cf149227d9ad542a2da830"
+    "sha1": "fc3f104c4a08a85b403c468348347240db6cc992"
   }
 }
diff --git a/Android.bp b/Android.bp
index 277296f..a55ed6d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,4 @@
-// This file is generated by cargo2android.py --run --device --dependencies.
+// This file is generated by cargo2android.py --run --device --dependencies --patch=patches/Android.bp.patch.
 
 rust_library {
     name: "libserde",
diff --git a/Cargo.toml b/Cargo.toml
index 437c270..934e270 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@
 
 [package]
 name = "serde"
-version = "1.0.115"
+version = "1.0.117"
 authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
 build = "build.rs"
 include = ["build.rs", "src/**/*.rs", "crates-io.md", "README.md", "LICENSE-APACHE", "LICENSE-MIT"]
@@ -30,7 +30,7 @@
 [package.metadata.playground]
 features = ["derive", "rc"]
 [dependencies.serde_derive]
-version = "=1.0.115"
+version = "=1.0.117"
 optional = true
 [dev-dependencies.serde_derive]
 version = "1.0"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 673fd22..5fc7a37 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "serde"
-version = "1.0.115" # remember to update html_root_url and serde_derive dependency
+version = "1.0.117" # remember to update html_root_url and serde_derive dependency
 authors = ["Erick Tryzelaar <erick.tryzelaar@gmail.com>", "David Tolnay <dtolnay@gmail.com>"]
 license = "MIT OR Apache-2.0"
 description = "A generic serialization/deserialization framework"
@@ -14,7 +14,7 @@
 build = "build.rs"
 
 [dependencies]
-serde_derive = { version = "=1.0.115", optional = true, path = "../serde_derive" }
+serde_derive = { version = "=1.0.117", optional = true, path = "../serde_derive" }
 
 [dev-dependencies]
 serde_derive = { version = "1.0", path = "../serde_derive" }
diff --git a/METADATA b/METADATA
index 13e5248..f3449b2 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@
   }
   url {
     type: ARCHIVE
-    value: "https://static.crates.io/crates/serde/serde-1.0.115.crate"
+    value: "https://static.crates.io/crates/serde/serde-1.0.117.crate"
   }
-  version: "1.0.115"
+  version: "1.0.117"
   license_type: NOTICE
   last_upgrade_date {
     year: 2020
-    month: 8
-    day: 21
+    month: 10
+    day: 26
   }
 }
diff --git a/patches/Android.bp.patch b/patches/Android.bp.patch
new file mode 100644
index 0000000..4f03f0b
--- /dev/null
+++ b/patches/Android.bp.patch
@@ -0,0 +1,12 @@
+diff --git b/Android.bp a/Android.bp
+index 41d67cc..277296f 100644
+--- b/Android.bp
++++ a/Android.bp
+@@ -23,6 +23,6 @@ rust_library {
+         "--cfg ops_bound",
+         "--cfg range_inclusive",
+         "--cfg std_atomic",
+-        "--cfg std_atomic64",
++        // "--cfg std_atomic64", // not for arm/arm64
+     ],
+ }
diff --git a/post_update.sh b/post_update.sh
deleted file mode 100755
index 7de4f29..0000000
--- a/post_update.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-# $1 Path to the new version.
-# $2 Path to the old version.
-
-set -x
-set -e
-
-# work around missing std_atomic64 on arm/arm64
-SRCFILE=Android.bp
-OLDSTR='"--cfg std_atomic64",'
-NEWSTR='// "--cfg std_atomic64", // not for arm/arm64'
-sed -i -e "s:$OLDSTR:$NEWSTR:" $SRCFILE
-# Make sure that sed replaced $OLDSTR with $NEWSTR
-grep "$NEWSTR" $SRCFILE > /dev/null
diff --git a/src/de/impls.rs b/src/de/impls.rs
index e460a40..ae4f9dc 100644
--- a/src/de/impls.rs
+++ b/src/de/impls.rs
@@ -1313,7 +1313,7 @@
                         formatter.write_str($expecting_message)
                     }
 
-                    fn visit_u32<E>(self, value: u32) -> Result<Self::Value, E>
+                    fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
                     where
                         E: Error,
                     {
@@ -1321,7 +1321,7 @@
                             $(
                                 $index => Ok($name_kind :: $variant),
                             )*
-                            _ => Err(Error::invalid_value(Unexpected::Unsigned(value as u64), &self),),
+                            _ => Err(Error::invalid_value(Unexpected::Unsigned(value), &self),),
                         }
                     }
 
@@ -2326,7 +2326,7 @@
                         formatter.write_str("`Unbounded`, `Included` or `Excluded`")
                     }
 
-                    fn visit_u32<E>(self, value: u32) -> Result<Self::Value, E>
+                    fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
                     where
                         E: Error,
                     {
@@ -2335,7 +2335,7 @@
                             1 => Ok(Field::Included),
                             2 => Ok(Field::Excluded),
                             _ => Err(Error::invalid_value(
-                                Unexpected::Unsigned(value as u64),
+                                Unexpected::Unsigned(value),
                                 &self,
                             )),
                         }
@@ -2492,7 +2492,7 @@
                         formatter.write_str("`Ok` or `Err`")
                     }
 
-                    fn visit_u32<E>(self, value: u32) -> Result<Self::Value, E>
+                    fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
                     where
                         E: Error,
                     {
@@ -2500,7 +2500,7 @@
                             0 => Ok(Field::Ok),
                             1 => Ok(Field::Err),
                             _ => Err(Error::invalid_value(
-                                Unexpected::Unsigned(value as u64),
+                                Unexpected::Unsigned(value),
                                 &self,
                             )),
                         }
diff --git a/src/de/mod.rs b/src/de/mod.rs
index f1b8b31..6d39473 100644
--- a/src/de/mod.rs
+++ b/src/de/mod.rs
@@ -104,7 +104,7 @@
 //! [`Deserialize`]: ../trait.Deserialize.html
 //! [`Deserializer`]: ../trait.Deserializer.html
 //! [`LinkedHashMap<K, V>`]: https://docs.rs/linked-hash-map/*/linked_hash_map/struct.LinkedHashMap.html
-//! [`bincode`]: https://github.com/TyOverby/bincode
+//! [`bincode`]: https://github.com/servo/bincode
 //! [`linked-hash-map`]: https://crates.io/crates/linked-hash-map
 //! [`serde_derive`]: https://crates.io/crates/serde_derive
 //! [`serde_json`]: https://github.com/serde-rs/json
diff --git a/src/de/value.rs b/src/de/value.rs
index d0a185d..4044f32 100644
--- a/src/de/value.rs
+++ b/src/de/value.rs
@@ -1034,7 +1034,7 @@
         let value = self.value.take();
         // Panic because this indicates a bug in the program rather than an
         // expected failure.
-        let value = value.expect("MapAccess::visit_value called before visit_key");
+        let value = value.expect("MapAccess::next_value called before next_key");
         seed.deserialize(value.into_deserializer())
     }
 
diff --git a/src/lib.rs b/src/lib.rs
index 7c4733c..0acf058 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -48,7 +48,7 @@
 //!   definition.
 //! - [JSON5], A superset of JSON including some productions from ES5.
 //! - [Postcard], a no\_std and embedded-systems friendly compact binary format.
-//! - [URL], the x-www-form-urlencoded format.
+//! - [URL] query strings, in the x-www-form-urlencoded format.
 //! - [Envy], a way to deserialize environment variables into Rust structs.
 //!   *(deserialization only)*
 //! - [Envy Store], a way to deserialize [AWS Parameter Store] parameters into
@@ -59,7 +59,7 @@
 //! - [FlexBuffers], the schemaless cousin of Google's FlatBuffers zero-copy serialization format.
 //!
 //! [JSON]: https://github.com/serde-rs/json
-//! [Bincode]: https://github.com/TyOverby/bincode
+//! [Bincode]: https://github.com/servo/bincode
 //! [CBOR]: https://github.com/pyfisch/cbor
 //! [YAML]: https://github.com/dtolnay/serde-yaml
 //! [MessagePack]: https://github.com/3Hren/msgpack-rust
@@ -70,7 +70,7 @@
 //! [Avro]: https://github.com/flavray/avro-rs
 //! [JSON5]: https://github.com/callum-oakley/json5-rs
 //! [Postcard]: https://github.com/jamesmunns/postcard
-//! [URL]: https://github.com/nox/serde_urlencoded
+//! [URL]: https://docs.rs/serde_qs
 //! [Envy]: https://github.com/softprops/envy
 //! [Envy Store]: https://github.com/softprops/envy-store
 //! [Cargo]: http://doc.crates.io/manifest.html
@@ -82,7 +82,7 @@
 ////////////////////////////////////////////////////////////////////////////////
 
 // Serde types in rustdoc of other crates get linked to here.
-#![doc(html_root_url = "https://docs.rs/serde/1.0.115")]
+#![doc(html_root_url = "https://docs.rs/serde/1.0.117")]
 // Support using Serde without the standard library!
 #![cfg_attr(not(feature = "std"), no_std)]
 // Unstable functionality only if the user asks for it. For tracking and
@@ -118,6 +118,7 @@
         zero_prefixed_literal,
         // correctly used
         enum_glob_use,
+        map_err_ignore,
         wildcard_imports,
         // not practical
         needless_pass_by_value,
diff --git a/src/ser/impls.rs b/src/ser/impls.rs
index 0dc8085..40e48ba 100644
--- a/src/ser/impls.rs
+++ b/src/ser/impls.rs
@@ -753,10 +753,10 @@
         S: Serializer,
     {
         if serializer.is_human_readable() {
-            const MAX_LEN: usize = 47;
+            const MAX_LEN: usize = 58;
             debug_assert_eq!(
                 MAX_LEN,
-                "[1001:1002:1003:1004:1005:1006:1007:1008]:65000".len()
+                "[1001:1002:1003:1004:1005:1006:1007:1008%4294967295]:65000".len()
             );
             serialize_display_bounded_length!(self, MAX_LEN, serializer)
         } else {
diff --git a/src/ser/mod.rs b/src/ser/mod.rs
index 676b0e2..8a4b2e3 100644
--- a/src/ser/mod.rs
+++ b/src/ser/mod.rs
@@ -99,7 +99,7 @@
 //! [`LinkedHashMap<K, V>`]: https://docs.rs/linked-hash-map/*/linked_hash_map/struct.LinkedHashMap.html
 //! [`Serialize`]: ../trait.Serialize.html
 //! [`Serializer`]: ../trait.Serializer.html
-//! [`bincode`]: https://github.com/TyOverby/bincode
+//! [`bincode`]: https://github.com/servo/bincode
 //! [`linked-hash-map`]: https://crates.io/crates/linked-hash-map
 //! [`serde_derive`]: https://crates.io/crates/serde_derive
 //! [`serde_json`]: https://github.com/serde-rs/json