Merge commit 'fe830c78bac85aea842c4d329b9a90087ddc6537' into master

Upgrade autocxx to the latest to enable support for clang 16

Change-Id: I97756b309e874e44d3ce8d2cdd846a3fe8a3d82c
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/third_party/autocxx/macro/BUILD b/third_party/autocxx/macro/BUILD
index 4cc658e..a91156e 100644
--- a/third_party/autocxx/macro/BUILD
+++ b/third_party/autocxx/macro/BUILD
@@ -25,6 +25,6 @@
         "@crate_index//:proc-macro-error",
         "@crate_index//:proc-macro2",
         "@crate_index//:quote",
-        "@crate_index//:syn",
+        "@crate_index//:syn-2.0.28",
     ],
 )
diff --git a/third_party/autocxx/macro/Cargo.toml b/third_party/autocxx/macro/Cargo.toml
index 1f81ab1..00f7e28 100644
--- a/third_party/autocxx/macro/Cargo.toml
+++ b/third_party/autocxx/macro/Cargo.toml
@@ -8,7 +8,7 @@
 
 [package]
 name = "autocxx-macro"
-version = "0.22.3"
+version = "0.26.0"
 authors = ["Adrian Taylor <adetaylor@chromium.org>"]
 license = "MIT OR Apache-2.0"
 description = "Safe autogenerated interop between Rust and C++"
@@ -21,11 +21,11 @@
 proc-macro = true
 
 [dependencies]
-autocxx-parser = { path="../parser", version="=0.22.3" }
+autocxx-parser = { path = "../parser", version = "=0.26.0" }
 proc-macro-error = "1.0"
 proc-macro2 = "1.0.11"
 quote = "1.0"
 
 [dependencies.syn]
-version = "1.0"
-features = [ "full" ]
+version = "2"
+features = ["full"]
diff --git a/third_party/autocxx/macro/src/lib.rs b/third_party/autocxx/macro/src/lib.rs
index 01ccd69..6cdb74a 100644
--- a/third_party/autocxx/macro/src/lib.rs
+++ b/third_party/autocxx/macro/src/lib.rs
@@ -37,7 +37,7 @@
         abort!(s.vis.span(), "Rust subclasses of C++ types must by public");
     }
     let id = &s.ident;
-    let cpp_ident = Ident::new(&format!("{}Cpp", id), Span::call_site());
+    let cpp_ident = Ident::new(&format!("{id}Cpp"), Span::call_site());
     let input = quote! {
         cpp_peer: autocxx::subclass::CppSubclassCppPeerHolder<ffi:: #cpp_ident>
     };