summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Maurer <mmaurer@google.com>2023-05-26 23:48:44 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-26 23:48:44 +0000
commit0dc2c93a301a0f0f3c02d1d404a9f9e783280e7f (patch)
tree278cd717328a38239d72fb975fe34d3ead755cc3
parent547bcd7512815b8df6578f0f1ff690fc7318e57d (diff)
parent63b69f1f39b54bd6b465982faf1148e9d91c6889 (diff)
downloadasync-stream-impl-0dc2c93a301a0f0f3c02d1d404a9f9e783280e7f.tar.gz
Update to syn-2 am: 4497fb4f59 am: a2ad5a30b1 am: 63b69f1f39
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/async-stream-impl/+/2522575 Change-Id: Idd991c8a0e23fc126242c542278cc29844c02cbb 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();
}
_ => {}