summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Maurer <mmaurer@google.com>2023-05-27 00:57:50 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-27 00:57:50 +0000
commit1240f58d0b4fd01ad13b677b7c9a9ecd772daa81 (patch)
tree278cd717328a38239d72fb975fe34d3ead755cc3
parent7ad9270715e88359e1a02c2184cb6d8e79ac7993 (diff)
parent0dc2c93a301a0f0f3c02d1d404a9f9e783280e7f (diff)
downloadasync-stream-impl-1240f58d0b4fd01ad13b677b7c9a9ecd772daa81.tar.gz
Update to syn-2 am: 4497fb4f59 am: a2ad5a30b1 am: 63b69f1f39 am: 0dc2c93a30
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/async-stream-impl/+/2522575 Change-Id: I78da38eb816f6e8d506b3c2c7dfedd0bae38e586 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--patches/syn-2.patch36
-rw-r--r--src/lib.rs6
2 files changed, 39 insertions, 3 deletions
diff --git a/patches/syn-2.patch b/patches/syn-2.patch
new file mode 100644
index 0000000..7a8225c
--- /dev/null
+++ b/patches/syn-2.patch
@@ -0,0 +1,36 @@
+diff --git a/src/lib.rs b/src/lib.rs
+index 7309648..03fb529 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -1,4 +1,3 @@
+-extern crate proc_macro;
+ use proc_macro::TokenStream;
+ use proc_macro2::{Group, TokenStream as TokenStream2, TokenTree};
+ use quote::quote;
+@@ -148,7 +147,7 @@ impl VisitMut for Scrub<'_> {
+ syn::Expr::ForLoop(expr) => {
+ syn::visit_mut::visit_expr_for_loop_mut(self, expr);
+ // TODO: Should we allow other attributes?
+- if expr.attrs.len() != 1 || !expr.attrs[0].path.is_ident("await") {
++ if expr.attrs.len() != 1 || !expr.attrs[0].path().is_ident("await_") {
+ return;
+ }
+ let syn::ExprForLoop {
+@@ -161,7 +160,7 @@ impl VisitMut for Scrub<'_> {
+ } = expr;
+
+ let attr = attrs.pop().unwrap();
+- if let Err(e) = syn::parse2::<syn::parse::Nothing>(attr.tokens) {
++ if let Err(e) = attr.meta.require_path_only() {
+ *i = syn::parse2(e.to_compile_error()).unwrap();
+ return;
+ }
+@@ -281,7 +280,7 @@ fn replace_for_await(input: impl IntoIterator<Item = TokenTree>) -> TokenStream2
+ TokenTree::Ident(ident) => {
+ match input.peek() {
+ Some(TokenTree::Ident(next)) if ident == "for" && next == "await" => {
+- tokens.extend(quote!(#[#next]));
++ tokens.extend(quote!(#[await_]));
+ let _ = input.next();
+ }
+ _ => {}
diff --git a/src/lib.rs b/src/lib.rs
index 7309648..d3aafa9 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -148,7 +148,7 @@ impl VisitMut for Scrub<'_> {
syn::Expr::ForLoop(expr) => {
syn::visit_mut::visit_expr_for_loop_mut(self, expr);
// TODO: Should we allow other attributes?
- if expr.attrs.len() != 1 || !expr.attrs[0].path.is_ident("await") {
+ if expr.attrs.len() != 1 || !expr.attrs[0].path().is_ident("await_") {
return;
}
let syn::ExprForLoop {
@@ -161,7 +161,7 @@ impl VisitMut for Scrub<'_> {
} = expr;
let attr = attrs.pop().unwrap();
- if let Err(e) = syn::parse2::<syn::parse::Nothing>(attr.tokens) {
+ if let Err(e) = attr.meta.require_path_only() {
*i = syn::parse2(e.to_compile_error()).unwrap();
return;
}
@@ -281,7 +281,7 @@ fn replace_for_await(input: impl IntoIterator<Item = TokenTree>) -> TokenStream2
TokenTree::Ident(ident) => {
match input.peek() {
Some(TokenTree::Ident(next)) if ident == "for" && next == "await" => {
- tokens.extend(quote!(#[#next]));
+ tokens.extend(quote!(#[await_]));
let _ = input.next();
}
_ => {}