Merge "Upgrade futures-task to 0.3.25"
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 1f750b1..37a6038 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,6 +1,6 @@
 {
   "git": {
-    "sha1": "fc1e3250219170e31cddb8857a276cba7dd08d44"
+    "sha1": "77d82198c5afd04af3e760a6aa50b7e875289fc3"
   },
   "path_in_vcs": "futures-task"
 }
\ No newline at end of file
diff --git a/Android.bp b/Android.bp
index b4769c8..a316e1b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -42,7 +42,7 @@
     host_supported: true,
     crate_name: "futures_task",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.3.21",
+    cargo_pkg_version: "0.3.25",
     srcs: ["src/lib.rs"],
     test_suites: ["general-tests"],
     auto_gen_config: true,
@@ -62,7 +62,7 @@
     host_supported: true,
     crate_name: "futures_task",
     cargo_env_compat: true,
-    cargo_pkg_version: "0.3.21",
+    cargo_pkg_version: "0.3.25",
     srcs: ["src/lib.rs"],
     edition: "2018",
     features: [
diff --git a/Cargo.toml b/Cargo.toml
index c65433f..0b31fc3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,11 +13,12 @@
 edition = "2018"
 rust-version = "1.45"
 name = "futures-task"
-version = "0.3.21"
+version = "0.3.25"
 description = """
 Tools for working with tasks.
 """
 homepage = "https://rust-lang.github.io/futures-rs"
+readme = "README.md"
 license = "MIT OR Apache-2.0"
 repository = "https://github.com/rust-lang/futures-rs"
 
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 77fec6f..67af1cc 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
 [package]
 name = "futures-task"
-version = "0.3.21"
+version = "0.3.25"
 edition = "2018"
 rust-version = "1.45"
 license = "MIT OR Apache-2.0"
diff --git a/METADATA b/METADATA
index 87e267d..3558087 100644
--- a/METADATA
+++ b/METADATA
@@ -1,3 +1,7 @@
+# This project was upgraded with external_updater.
+# Usage: tools/external_updater/updater.sh update rust/crates/futures-task
+# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+
 name: "futures-task"
 description: "Tools for working with tasks."
 third_party {
@@ -7,13 +11,13 @@
   }
   url {
     type: ARCHIVE
-    value: "https://static.crates.io/crates/futures-task/futures-task-0.3.21.crate"
+    value: "https://static.crates.io/crates/futures-task/futures-task-0.3.25.crate"
   }
-  version: "0.3.21"
+  version: "0.3.25"
   license_type: NOTICE
   last_upgrade_date {
     year: 2022
-    month: 3
-    day: 1
+    month: 12
+    day: 12
   }
 }
diff --git a/no_atomic_cas.rs b/no_atomic_cas.rs
index 9b05d4b..16ec628 100644
--- a/no_atomic_cas.rs
+++ b/no_atomic_cas.rs
@@ -2,12 +2,16 @@
 // It is not intended for manual editing.
 
 const NO_ATOMIC_CAS: &[&str] = &[
+    "armv4t-none-eabi",
+    "armv5te-none-eabi",
     "avr-unknown-gnu-atmega328",
     "bpfeb-unknown-none",
     "bpfel-unknown-none",
     "msp430-none-elf",
     "riscv32i-unknown-none-elf",
+    "riscv32im-unknown-none-elf",
     "riscv32imc-unknown-none-elf",
     "thumbv4t-none-eabi",
+    "thumbv5te-none-eabi",
     "thumbv6m-none-eabi",
 ];
diff --git a/src/waker_ref.rs b/src/waker_ref.rs
index 7fb552f..aac4109 100644
--- a/src/waker_ref.rs
+++ b/src/waker_ref.rs
@@ -18,6 +18,7 @@
 
 impl<'a> WakerRef<'a> {
     /// Create a new [`WakerRef`] from a [`Waker`] reference.
+    #[inline]
     pub fn new(waker: &'a Waker) -> Self {
         // copy the underlying (raw) waker without calling a clone,
         // as we won't call Waker::drop either.
@@ -31,6 +32,7 @@
     /// an unsafe way (that will be valid only for a lifetime to be determined
     /// by the caller), and the [`Waker`] doesn't need to or must not be
     /// destroyed.
+    #[inline]
     pub fn new_unowned(waker: ManuallyDrop<Waker>) -> Self {
         Self { waker, _marker: PhantomData }
     }
@@ -39,6 +41,7 @@
 impl Deref for WakerRef<'_> {
     type Target = Waker;
 
+    #[inline]
     fn deref(&self) -> &Waker {
         &self.waker
     }