Merge "Upgrade rust/crates/futures-macro to 0.3.12" am: 401b386756 am: fd55e57342 am: 611dab61d8 am: eba6d1f0ab

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/futures-macro/+/1582317

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie5125351171beebafbf7b6d8113cb305e7cdf724
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
new file mode 100644
index 0000000..4fd4ba3
--- /dev/null
+++ b/.cargo_vcs_info.json
@@ -0,0 +1,5 @@
+{
+  "git": {
+    "sha1": "1d53a29ec16ccd5b094fb205edb73591455eb4b6"
+  }
+}
diff --git a/Android.bp b/Android.bp
index 391de64..8362d39 100644
--- a/Android.bp
+++ b/Android.bp
@@ -50,8 +50,8 @@
 }
 
 // dependent_library ["feature_list"]
-//   proc-macro-hack-0.5.18
+//   proc-macro-hack-0.5.19
 //   proc-macro2-1.0.24 "default,proc-macro"
-//   quote-1.0.7 "default,proc-macro"
-//   syn-1.0.48 "clone-impls,default,derive,full,parsing,printing,proc-macro,quote"
+//   quote-1.0.8 "default,proc-macro"
+//   syn-1.0.60 "clone-impls,default,derive,full,parsing,printing,proc-macro,quote"
 //   unicode-xid-0.2.1 "default"
diff --git a/Cargo.toml b/Cargo.toml
index 2a555db..a2ce060 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,18 +13,18 @@
 [package]
 edition = "2018"
 name = "futures-macro"
-version = "0.3.7"
+version = "0.3.12"
 authors = ["Taylor Cramer <[email protected]>", "Taiki Endo <[email protected]>"]
 description = "The futures-rs procedural macro implementations.\n"
 homepage = "https://rust-lang.github.io/futures-rs"
-documentation = "https://docs.rs/futures-macro/0.3.7"
+documentation = "https://docs.rs/futures-macro/0.3"
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang/futures-rs"
 
 [lib]
 proc-macro = true
 [dependencies.proc-macro-hack]
-version = "0.5.9"
+version = "0.5.19"
 
 [dependencies.proc-macro2]
 version = "1.0"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 07fa2da..54c64fb 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,12 +1,12 @@
 [package]
 name = "futures-macro"
 edition = "2018"
-version = "0.3.7"
+version = "0.3.12"
 authors = ["Taylor Cramer <[email protected]>", "Taiki Endo <[email protected]>"]
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang/futures-rs"
 homepage = "https://rust-lang.github.io/futures-rs"
-documentation = "https://docs.rs/futures-macro/0.3.7"
+documentation = "https://docs.rs/futures-macro/0.3"
 description = """
 The futures-rs procedural macro implementations.
 """
@@ -18,6 +18,6 @@
 
 [dependencies]
 proc-macro2 = "1.0"
-proc-macro-hack = "0.5.9"
+proc-macro-hack = "0.5.19"
 quote = "1.0"
 syn = { version = "1.0", features = ["full"] }
diff --git a/METADATA b/METADATA
index 7f28e0e..2106d32 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@
   }
   url {
     type: ARCHIVE
-    value: "https://static.crates.io/crates/futures-macro/futures-macro-0.3.7.crate"
+    value: "https://static.crates.io/crates/futures-macro/futures-macro-0.3.12.crate"
   }
-  version: "0.3.7"
+  version: "0.3.12"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2020
-    month: 10
-    day: 25
+    year: 2021
+    month: 2
+    day: 9
   }
 }
diff --git a/TEST_MAPPING b/TEST_MAPPING
index b518f2a..7e10dd0 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -1,4 +1,4 @@
-// Generated by cargo2android.py for tests in Android.bp
+// Generated by update_crate_tests.py for tests that depend on this crate.
 {
   "presubmit": [
     {
diff --git a/src/join.rs b/src/join.rs
index f43e2e9..048b62a 100644
--- a/src/join.rs
+++ b/src/join.rs
@@ -13,7 +13,7 @@
 
 impl Parse for Join {
     fn parse(input: ParseStream<'_>) -> syn::Result<Self> {
-        let mut join = Join::default();
+        let mut join = Self::default();
 
         while !input.is_empty() {
             join.fut_exprs.push(input.parse::<Expr>()?);
diff --git a/src/lib.rs b/src/lib.rs
index 2b091b5..5f0c47c 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -5,16 +5,8 @@
 // It cannot be included in the published code because this lints have false positives in the minimum required version.
 #![cfg_attr(test, warn(single_use_lifetimes))]
 #![warn(clippy::all)]
-
-// mem::take requires Rust 1.40, matches! requires Rust 1.42
-// Can be removed if the minimum supported version increased or if https://github.com/rust-lang/rust-clippy/issues/3941
-// get's implemented.
-#![allow(clippy::mem_replace_with_default, clippy::match_like_matches_macro)]
-
 #![doc(test(attr(deny(warnings), allow(dead_code, unused_assignments, unused_variables))))]
 
-#![doc(html_root_url = "https://docs.rs/futures-join-macro/0.3.7")]
-
 // Since https://github.com/rust-lang/cargo/pull/7700 `proc_macro` is part of the prelude for
 // proc-macro crates, but to support older compilers we still need this explicit `extern crate`.
 #[allow(unused_extern_crates)]
diff --git a/src/select.rs b/src/select.rs
index 711650b..65b3187 100644
--- a/src/select.rs
+++ b/src/select.rs
@@ -27,7 +27,7 @@
 
 impl Parse for Select {
     fn parse(input: ParseStream<'_>) -> syn::Result<Self> {
-        let mut select = Select {
+        let mut select = Self {
             complete: None,
             default: None,
             normal_fut_exprs: vec![],