aboutsummaryrefslogtreecommitdiff
path: root/src/async_await
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2020-05-08 19:26:17 -0700
committerChih-Hung Hsieh <chh@google.com>2020-05-11 21:06:51 -0700
commit52627c866ba9ce070950c81a3a98f844a55305cf (patch)
treeb261d9acf1a15a6d9d39e311930effa8fdaccd43 /src/async_await
parent032d3071c35e3fc8fd539889f96691b67d489bbb (diff)
downloadfutures-util-52627c866ba9ce070950c81a3a98f844a55305cf.tar.gz
Upgrade rust/crates/futures-util to 0.3.5
* Update Android.bp with new features and dependent packages for futures-* 0.3.5. * New dependencies of pin-project and pin-project-internal. Test: mm in external/rust/crates Change-Id: I705a08e44c8598d28b4b465170df8ed206df1494
Diffstat (limited to 'src/async_await')
-rw-r--r--src/async_await/join_mod.rs32
-rw-r--r--src/async_await/select_mod.rs35
2 files changed, 54 insertions, 13 deletions
diff --git a/src/async_await/join_mod.rs b/src/async_await/join_mod.rs
index 2e27f21..909cd3b 100644
--- a/src/async_await/join_mod.rs
+++ b/src/async_await/join_mod.rs
@@ -2,8 +2,6 @@
use proc_macro_hack::proc_macro_hack;
-#[doc(hidden)]
-#[macro_export]
macro_rules! document_join_macro {
($join:item $try_join:item) => {
/// Polls multiple futures simultaneously, returning a tuple
@@ -73,10 +71,32 @@ macro_rules! document_join_macro {
}
}
+#[doc(hidden)]
+#[proc_macro_hack(support_nested)]
+pub use futures_macro::join_internal;
+
+#[doc(hidden)]
+#[proc_macro_hack(support_nested)]
+pub use futures_macro::try_join_internal;
+
document_join_macro! {
- #[proc_macro_hack(support_nested)]
- pub use futures_macro::join;
+ #[macro_export]
+ macro_rules! join {
+ ($($tokens:tt)*) => {{
+ use $crate::__reexport as __futures_crate;
+ $crate::join_internal! {
+ $( $tokens )*
+ }
+ }}
+ }
- #[proc_macro_hack(support_nested)]
- pub use futures_macro::try_join;
+ #[macro_export]
+ macro_rules! try_join {
+ ($($tokens:tt)*) => {{
+ use $crate::__reexport as __futures_crate;
+ $crate::try_join_internal! {
+ $( $tokens )*
+ }
+ }}
+ }
}
diff --git a/src/async_await/select_mod.rs b/src/async_await/select_mod.rs
index 38153c7..0471f09 100644
--- a/src/async_await/select_mod.rs
+++ b/src/async_await/select_mod.rs
@@ -2,8 +2,6 @@
use proc_macro_hack::proc_macro_hack;
-#[doc(hidden)]
-#[macro_export]
macro_rules! document_select_macro {
// This branch is required for `futures 0.3.1`, from before select_biased was introduced
($select:item) => {
@@ -158,7 +156,7 @@ macro_rules! document_select_macro {
};
($select:item $select_biased:item) => {
- $crate::document_select_macro!($select);
+ document_select_macro!($select);
/// Polls multiple futures and streams simultaneously, executing the branch
/// for the future that finishes first. Unlike [`select!`], if multiple futures are ready,
@@ -310,11 +308,34 @@ macro_rules! document_select_macro {
};
}
+#[cfg(feature = "std")]
+#[doc(hidden)]
+#[proc_macro_hack(support_nested)]
+pub use futures_macro::select_internal;
+
+#[doc(hidden)]
+#[proc_macro_hack(support_nested)]
+pub use futures_macro::select_biased_internal;
+
document_select_macro! {
#[cfg(feature = "std")]
- #[proc_macro_hack(support_nested)]
- pub use futures_macro::select;
+ #[macro_export]
+ macro_rules! select {
+ ($($tokens:tt)*) => {{
+ use $crate::__reexport as __futures_crate;
+ $crate::select_internal! {
+ $( $tokens )*
+ }
+ }}
+ }
- #[proc_macro_hack(support_nested)]
- pub use futures_macro::select_biased;
+ #[macro_export]
+ macro_rules! select_biased {
+ ($($tokens:tt)*) => {{
+ use $crate::__reexport as __futures_crate;
+ $crate::select_biased_internal! {
+ $( $tokens )*
+ }
+ }}
+ }
}