summaryrefslogtreecommitdiffstats
path: root/vendor/futures-macro
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/futures-macro')
-rw-r--r--vendor/futures-macro/.cargo-checksum.json2
-rw-r--r--vendor/futures-macro/Cargo.toml11
-rw-r--r--vendor/futures-macro/src/executor.rs1
-rw-r--r--vendor/futures-macro/src/join.rs13
-rw-r--r--vendor/futures-macro/src/select.rs2
5 files changed, 17 insertions, 12 deletions
diff --git a/vendor/futures-macro/.cargo-checksum.json b/vendor/futures-macro/.cargo-checksum.json
index 4eda2b921..b0b2ab17f 100644
--- a/vendor/futures-macro/.cargo-checksum.json
+++ b/vendor/futures-macro/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"46ecfcda3cd6979538f7543858fcfecb52c319cec94d041ab369139723ffa69d","LICENSE-APACHE":"275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/executor.rs":"2a6c40ebf1fb70ac5bd0dfb991c7b945210c731b558b546f2ecb6d7a8976f3f6","src/join.rs":"e0d286558bd944fd02c1bd2501d13e62de2aa65e6bd3a2e0567488ac1a2374ed","src/lib.rs":"8324c4d5cc4e9e377b2f95afde751168d7e94196c1f2cb35802193c900ca0026","src/select.rs":"a7ed344932225fbe1b070d132a937184250c31385ac6764a8a6e6817413c7538","src/stream_select.rs":"5fb84834a40876ab1fd975c3af67594d0c5a4f8d724cb164db9bee71e70d14b1"},"package":"6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c"} \ No newline at end of file
+{"files":{"Cargo.toml":"94ae7274ca3f2a7a283613a23de7ca2180b226f4cbe7952e7850535709ed3aab","LICENSE-APACHE":"275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427","LICENSE-MIT":"6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd","src/executor.rs":"d2c8545c3438262484da3cddb6d998928bfef8d6d191480c13c0c390f15fe0f1","src/join.rs":"eb1b7beb09e877a88fb76ba195b87b657681234002386ab3519f33b0a6670098","src/lib.rs":"8324c4d5cc4e9e377b2f95afde751168d7e94196c1f2cb35802193c900ca0026","src/select.rs":"6c8193b36ecd06d91036a0502d76ea35b4393537b5fc0432df67aa49f831ad18","src/stream_select.rs":"5fb84834a40876ab1fd975c3af67594d0c5a4f8d724cb164db9bee71e70d14b1"},"package":"89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"} \ No newline at end of file
diff --git a/vendor/futures-macro/Cargo.toml b/vendor/futures-macro/Cargo.toml
index b192c17ff..b91c64184 100644
--- a/vendor/futures-macro/Cargo.toml
+++ b/vendor/futures-macro/Cargo.toml
@@ -11,16 +11,19 @@
[package]
edition = "2018"
-rust-version = "1.45"
+rust-version = "1.56"
name = "futures-macro"
-version = "0.3.19"
-description = "The futures-rs procedural macro implementations.\n"
+version = "0.3.28"
+description = """
+The futures-rs procedural macro implementations.
+"""
homepage = "https://rust-lang.github.io/futures-rs"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/futures-rs"
[lib]
proc-macro = true
+
[dependencies.proc-macro2]
version = "1.0"
@@ -28,7 +31,7 @@ version = "1.0"
version = "1.0"
[dependencies.syn]
-version = "1.0.56"
+version = "2.0.8"
features = ["full"]
[features]
diff --git a/vendor/futures-macro/src/executor.rs b/vendor/futures-macro/src/executor.rs
index 40a091f94..7f1d0a93f 100644
--- a/vendor/futures-macro/src/executor.rs
+++ b/vendor/futures-macro/src/executor.rs
@@ -44,6 +44,7 @@ pub(crate) fn test(args: TokenStream, item: TokenStream) -> TokenStream {
#path::block_on(async #body)
})
.unwrap(),
+ None,
)];
let gen = quote! {
diff --git a/vendor/futures-macro/src/join.rs b/vendor/futures-macro/src/join.rs
index d427da27a..94e356f72 100644
--- a/vendor/futures-macro/src/join.rs
+++ b/vendor/futures-macro/src/join.rs
@@ -38,6 +38,7 @@ fn bind_futures(fut_exprs: Vec<Expr>, span: Span) -> (Vec<TokenStream2>, Vec<Ide
// Move future into a local so that it is pinned in one place and
// is no longer accessible by the end user.
let mut #name = __futures_crate::future::maybe_done(#expr);
+ let mut #name = unsafe { __futures_crate::Pin::new_unchecked(&mut #name) };
});
name
})
@@ -58,12 +59,12 @@ pub(crate) fn join(input: TokenStream) -> TokenStream {
let poll_futures = future_names.iter().map(|fut| {
quote! {
__all_done &= __futures_crate::future::Future::poll(
- unsafe { __futures_crate::Pin::new_unchecked(&mut #fut) }, __cx).is_ready();
+ #fut.as_mut(), __cx).is_ready();
}
});
let take_outputs = future_names.iter().map(|fut| {
quote! {
- unsafe { __futures_crate::Pin::new_unchecked(&mut #fut) }.take_output().unwrap(),
+ #fut.as_mut().take_output().unwrap(),
}
});
@@ -96,17 +97,17 @@ pub(crate) fn try_join(input: TokenStream) -> TokenStream {
let poll_futures = future_names.iter().map(|fut| {
quote! {
if __futures_crate::future::Future::poll(
- unsafe { __futures_crate::Pin::new_unchecked(&mut #fut) }, __cx).is_pending()
+ #fut.as_mut(), __cx).is_pending()
{
__all_done = false;
- } else if unsafe { __futures_crate::Pin::new_unchecked(&mut #fut) }.output_mut().unwrap().is_err() {
+ } else if #fut.as_mut().output_mut().unwrap().is_err() {
// `.err().unwrap()` rather than `.unwrap_err()` so that we don't introduce
// a `T: Debug` bound.
// Also, for an error type of ! any code after `err().unwrap()` is unreachable.
#[allow(unreachable_code)]
return __futures_crate::task::Poll::Ready(
__futures_crate::Err(
- unsafe { __futures_crate::Pin::new_unchecked(&mut #fut) }.take_output().unwrap().err().unwrap()
+ #fut.as_mut().take_output().unwrap().err().unwrap()
)
);
}
@@ -118,7 +119,7 @@ pub(crate) fn try_join(input: TokenStream) -> TokenStream {
// an `E: Debug` bound.
// Also, for an ok type of ! any code after `ok().unwrap()` is unreachable.
#[allow(unreachable_code)]
- unsafe { __futures_crate::Pin::new_unchecked(&mut #fut) }.take_output().unwrap().ok().unwrap(),
+ #fut.as_mut().take_output().unwrap().ok().unwrap(),
}
});
diff --git a/vendor/futures-macro/src/select.rs b/vendor/futures-macro/src/select.rs
index 0c8e5f1ca..2789b3e65 100644
--- a/vendor/futures-macro/src/select.rs
+++ b/vendor/futures-macro/src/select.rs
@@ -51,7 +51,7 @@ impl Parse for Select {
CaseKind::Default
} else {
// `<pat> = <expr>`
- let pat = input.parse()?;
+ let pat = Pat::parse_multi_with_leading_vert(input)?;
input.parse::<Token![=]>()?;
let expr = input.parse()?;
CaseKind::Normal(pat, expr)