Merge "Update quote to 1.0.38" into main
diff --git a/crates/quote/.android-checksum.json b/crates/quote/.android-checksum.json
index 242e9cf..6a3945c 100644
--- a/crates/quote/.android-checksum.json
+++ b/crates/quote/.android-checksum.json
@@ -1 +1 @@
-{"package":null,"files":{".cargo-checksum.json":"6e6cf6e9f00376c702ce41d88d4190ea890169563d0e148a7d572f040639f310","Android.bp":"112032c0c033f2f12ebc7d1802f4805f2ffb29a8b29e459cc042a3d2dd4645af","Cargo.toml":"a74913aeea487ce203ef82744f151351911696885884492907ef83bcd8e17e48","LICENSE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-MIT":"38620a3cfaeec97a9197e8c39e436ea7f0bc86699b1f1c35f1aa41785b6d4eac","METADATA":"50b62b9ac3e21d94d5488003211e28030f864e55faa7ab117912b4fea02a9cae","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"5ff986ede58aabfde651aa79cadfc297e196abd8943d31995bb6d6368188e7d3","TEST_MAPPING":"a3074a0541d6fbb452778d31b454a0f4375a6f8e617cdb11e6c4fb83d7ed03e3","cargo_embargo.json":"dea7d02c15aae803360b3bff2deee1fd237cf43f5f629f9de158195911a987ed","rules.mk":"4f56f2a75f0e85cb8de7d0f49c31299847cf64233d07491f708271ce59430e31","rust-toolchain.toml":"25bc44c2a4cb625e0f16003c73ac0db2fc79a3b79a5b0e6d4b6175c6dbe5af69","src/ext.rs":"410fb182da6986263dc67a66d4dbfcdfb16f1aa1860b9a923a25175aaed3e0e3","src/format.rs":"e3a61905151f523de37e3822fc09da82c51bfb1dddb466b87061cb07e20d7a63","src/ident_fragment.rs":"ff8998970f3abc995236430e70a705bc98df23b7419db5a33e7047c9b54ab108","src/lib.rs":"b6ee6979a5bb127304abe00d3d9ee1eca3a3a340c823b88664ebae18d8e15903","src/runtime.rs":"e96725d1642289802525fb06a673d713f1bff813e2e75249b89199649060809f","src/spanned.rs":"e388beba004e9665554258fc95ec1a220faf2f8392cb95f832fd5414bf8f2eb8","src/to_tokens.rs":"9925c9e2e63c41f60102a530f0b3b5d03e9e4800708c21f58e3782d78a2e7026","tests/compiletest.rs":"5876a4728abd95ed4ed3b78777fe95428d32a32730d7718f58001bdbd4d1e168","tests/test.rs":"118fa850de6fa171a4242e7dd69276174b4cf50829eacab0cc2723d5af4daeb5","tests/ui/does-not-have-iter-interpolated-dup.rs":"e8ee281d8d8683f05506088bf7e8c68ef582439fac9f4b94fcfc0be183578054","tests/ui/does-not-have-iter-interpolated-dup.stderr":"5d61aecbe912cf51275317b734e86b820c0d3b0944eb04e25ebc9fe2ad2bc06d","tests/ui/does-not-have-iter-interpolated.rs":"fe2b050d50a8cf760eb56d348fbe7423a7d5623514db0ab233848e06a1564f53","tests/ui/does-not-have-iter-interpolated.stderr":"abe85e65786af039458d3546c65568904bd941cbb9dd892cd9ad896dae3d6a0f","tests/ui/does-not-have-iter-separated.rs":"74e86fecaf6ef0969872a275dde4001dba277551f3463cdbaf92065a1299637e","tests/ui/does-not-have-iter-separated.stderr":"20d0332e694bb3926ce2d4a7693c5a7050b925db3a19e5004fe533a7efa890e1","tests/ui/does-not-have-iter.rs":"e058788fea91897953d8cb22b008fa83c3d4792390bcfa30add79499f2dc81b1","tests/ui/does-not-have-iter.stderr":"efcbf385a020bd8f527d08887544b2142b3530ef22106a0cb9d0401cbcedfc03","tests/ui/not-quotable.rs":"d5ce85fc5e6f1d83b2918e0c823e8b475cb7f79cd531d4bbb207e322fb9f90d3","tests/ui/not-quotable.stderr":"41acf679136d1faa9510b04acc393521137cc5eb1d66a1d9497a89efd6e4e768","tests/ui/not-repeatable.rs":"c26582dbf4c1015e7f383c96cd0b64c2ce4804989869cef9734931a8b66aa624","tests/ui/not-repeatable.stderr":"877bf65d2342ecde1e572230a093a3729a04612ee95b6aeb9a81b3bc4ed28e98","tests/ui/wrong-type-span.rs":"531a020f4272d7ec4dbae07c72885a76f9466fc5755562603f5cb965fb8f1475","tests/ui/wrong-type-span.stderr":"d6f5848676b3bbdd1e50de5cd745ce28354a3c9a618e5a942389e87f2797890d"}}
\ No newline at end of file
+{"package":null,"files":{".cargo-checksum.json":"4004f5af5d271cef5eaec59aca3af7891ac2dd1bb5fce3d84aad8ff857286dda","Android.bp":"53834090a3a30e71b9871154bcdd0ce8fc2178ccc67baebd44df4658cf64eed5","Cargo.toml":"a5f13e0fe9aacd26bc48786a0ae9fa3fddabd7711e9d539cb75bdb38540ef3e0","LICENSE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-MIT":"38620a3cfaeec97a9197e8c39e436ea7f0bc86699b1f1c35f1aa41785b6d4eac","METADATA":"6fdf3160e08d3711e0e5ef044a6f1be167fc0f8348a196f8757586e1d69de428","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","README.md":"5ff986ede58aabfde651aa79cadfc297e196abd8943d31995bb6d6368188e7d3","TEST_MAPPING":"a3074a0541d6fbb452778d31b454a0f4375a6f8e617cdb11e6c4fb83d7ed03e3","cargo_embargo.json":"dea7d02c15aae803360b3bff2deee1fd237cf43f5f629f9de158195911a987ed","rules.mk":"4f56f2a75f0e85cb8de7d0f49c31299847cf64233d07491f708271ce59430e31","rust-toolchain.toml":"25bc44c2a4cb625e0f16003c73ac0db2fc79a3b79a5b0e6d4b6175c6dbe5af69","src/ext.rs":"410fb182da6986263dc67a66d4dbfcdfb16f1aa1860b9a923a25175aaed3e0e3","src/format.rs":"e3a61905151f523de37e3822fc09da82c51bfb1dddb466b87061cb07e20d7a63","src/ident_fragment.rs":"ff8998970f3abc995236430e70a705bc98df23b7419db5a33e7047c9b54ab108","src/lib.rs":"b1ff159343a1dd1c6bf38008b90820f95cad89cc9ee789f402399dc1b5523612","src/runtime.rs":"a0cefca3a946415162789b5eab5d50084b582d03424bec20eaadc7bed3d2a911","src/spanned.rs":"e388beba004e9665554258fc95ec1a220faf2f8392cb95f832fd5414bf8f2eb8","src/to_tokens.rs":"a1f37cf7d952d1be7f9781e00daec842c0d7346b04e9e452654dc700019e37d4","tests/compiletest.rs":"5876a4728abd95ed4ed3b78777fe95428d32a32730d7718f58001bdbd4d1e168","tests/test.rs":"46e3b6c45dd93489fd9b5e1d4ecd42fffc31cf5d7cbce91f141c576ce4cd8674","tests/ui/does-not-have-iter-interpolated-dup.rs":"e8ee281d8d8683f05506088bf7e8c68ef582439fac9f4b94fcfc0be183578054","tests/ui/does-not-have-iter-interpolated-dup.stderr":"5d61aecbe912cf51275317b734e86b820c0d3b0944eb04e25ebc9fe2ad2bc06d","tests/ui/does-not-have-iter-interpolated.rs":"fe2b050d50a8cf760eb56d348fbe7423a7d5623514db0ab233848e06a1564f53","tests/ui/does-not-have-iter-interpolated.stderr":"abe85e65786af039458d3546c65568904bd941cbb9dd892cd9ad896dae3d6a0f","tests/ui/does-not-have-iter-separated.rs":"74e86fecaf6ef0969872a275dde4001dba277551f3463cdbaf92065a1299637e","tests/ui/does-not-have-iter-separated.stderr":"20d0332e694bb3926ce2d4a7693c5a7050b925db3a19e5004fe533a7efa890e1","tests/ui/does-not-have-iter.rs":"e058788fea91897953d8cb22b008fa83c3d4792390bcfa30add79499f2dc81b1","tests/ui/does-not-have-iter.stderr":"efcbf385a020bd8f527d08887544b2142b3530ef22106a0cb9d0401cbcedfc03","tests/ui/not-quotable.rs":"d5ce85fc5e6f1d83b2918e0c823e8b475cb7f79cd531d4bbb207e322fb9f90d3","tests/ui/not-quotable.stderr":"c776b72f40523d46ef106cbb5624d6eaeaa946b3becf9628bd22f25724589a42","tests/ui/not-repeatable.rs":"c26582dbf4c1015e7f383c96cd0b64c2ce4804989869cef9734931a8b66aa624","tests/ui/not-repeatable.stderr":"877bf65d2342ecde1e572230a093a3729a04612ee95b6aeb9a81b3bc4ed28e98","tests/ui/wrong-type-span.rs":"531a020f4272d7ec4dbae07c72885a76f9466fc5755562603f5cb965fb8f1475","tests/ui/wrong-type-span.stderr":"d6f5848676b3bbdd1e50de5cd745ce28354a3c9a618e5a942389e87f2797890d"}}
\ No newline at end of file
diff --git a/crates/quote/.cargo-checksum.json b/crates/quote/.cargo-checksum.json
index 2c547c3..bec91dc 100644
--- a/crates/quote/.cargo-checksum.json
+++ b/crates/quote/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"8bdca3d4bf8c01d302dc8f779c5c546c7e0357601ed3d62771b7cd7a05b459ee","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"edb299daa2373254c96147303289002b9f424944176a26e5520ee82869caedc6","rust-toolchain.toml":"6bbb61302978c736b2da03e4fb40e3beab908f85d533ab46fd541e637b5f3e0f","src/ext.rs":"9881576cac3e476a4bf04f9b601cf9a53b79399fb0ca9634e8b861ac91709843","src/format.rs":"c595015418f35e6992e710441b9999f09b2afe4678b138039d670d100c0bdd86","src/ident_fragment.rs":"0b3e6c2129e55910fd2d240e1e7efba6f1796801d24352d1c0bfbceb0e8b678f","src/lib.rs":"bdc2340e5f1e84972d2f8d65393465dd4aea20001ae2cd484e867d0d653d60ae","src/runtime.rs":"7f37326edaeac2c42ed806b447eeba12e36dd4b1bc25fbf52f8eb23140f3be7a","src/spanned.rs":"3ccf5120593f35787442c0a37d243e802c5262e7f8b35aed503873008ec035c5","src/to_tokens.rs":"caca09d649e9394d37f065a41d481318c4cb86c345b9cb01f36fbf0f73868e86","tests/compiletest.rs":"4e381aa8ca3eabb7ac14d1e0c3700b3223e47640547a6988cfa13ad68255f60f","tests/test.rs":"05584957f1c30b180c31ef849ee9ec48e6b847f3e655efc0983c20dcfce2131e","tests/ui/does-not-have-iter-interpolated-dup.rs":"ad13eea21d4cdd2ab6c082f633392e1ff20fb0d1af5f2177041e0bf7f30da695","tests/ui/does-not-have-iter-interpolated-dup.stderr":"90a4bdb9267535f5d2785940148338d6b7d905548051d2c9c5dcbd58f2c11d8e","tests/ui/does-not-have-iter-interpolated.rs":"83a5b3f240651adcbe4b6e51076d76d653ad439b37442cf4054f1fd3c073f3b7","tests/ui/does-not-have-iter-interpolated.stderr":"ae7c2739554c862b331705e82781aa4687a4375210cef6ae899a4be4a4ec2d97","tests/ui/does-not-have-iter-separated.rs":"fe413c48331d5e3a7ae5fef6a5892a90c72f610d54595879eb49d0a94154ba3f","tests/ui/does-not-have-iter-separated.stderr":"03fd560979ebcd5aa6f83858bc2c3c01ba6546c16335101275505304895c1ae9","tests/ui/does-not-have-iter.rs":"09dc9499d861b63cebb0848b855b78e2dc9497bfde37ba6339f3625ae009a62f","tests/ui/does-not-have-iter.stderr":"d6da483c29e232ced72059bbdf05d31afb1df9e02954edaa9cfaea1ec6df72dc","tests/ui/not-quotable.rs":"5759d0884943417609f28faadc70254a3e2fd3d9bd6ff7297a3fb70a77fafd8a","tests/ui/not-quotable.stderr":"62f32911c891d7e4617c6f32dca2723598a5c321979fe7ec89b159bd8d9445d9","tests/ui/not-repeatable.rs":"a4b115c04e4e41049a05f5b69450503fbffeba031218b4189cb931839f7f9a9c","tests/ui/not-repeatable.stderr":"bbfb702638374001061251f81d63476851ac28ed743f13db9d65e30dd9bdcf52","tests/ui/wrong-type-span.rs":"6195e35ea844c0c52ba1cff5d790c3a371af6915d137d377834ad984229ef9ea","tests/ui/wrong-type-span.stderr":"cad072e40e0ecc04f375122ae41aede2f0da2a9244492b3fcf70249e59d1b128"},"package":"b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"}
\ No newline at end of file
+{"files":{"Cargo.toml":"bb574e3d71fabca988cf5b5ac7a105cafe62e401c5f423cb5cd88af9e2f805f7","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"edb299daa2373254c96147303289002b9f424944176a26e5520ee82869caedc6","rust-toolchain.toml":"6bbb61302978c736b2da03e4fb40e3beab908f85d533ab46fd541e637b5f3e0f","src/ext.rs":"9881576cac3e476a4bf04f9b601cf9a53b79399fb0ca9634e8b861ac91709843","src/format.rs":"c595015418f35e6992e710441b9999f09b2afe4678b138039d670d100c0bdd86","src/ident_fragment.rs":"0b3e6c2129e55910fd2d240e1e7efba6f1796801d24352d1c0bfbceb0e8b678f","src/lib.rs":"4f369245210d98365230aa22cc588db1da1fd116addfce66fa0fc007106e864c","src/runtime.rs":"7560ef191a55d419f175b2f18e1529da99a9da9c0d3a65b29d44fbc3d3fd1fe4","src/spanned.rs":"3ccf5120593f35787442c0a37d243e802c5262e7f8b35aed503873008ec035c5","src/to_tokens.rs":"e7a17ad391d22d0e86680cf4f5ea8182feee98bc00053520886833f6fa7010a0","tests/compiletest.rs":"4e381aa8ca3eabb7ac14d1e0c3700b3223e47640547a6988cfa13ad68255f60f","tests/test.rs":"b85ffd77b45be2359e711b29c8f804b7d4f948a2bd5d83bdede0367758cbabe1","tests/ui/does-not-have-iter-interpolated-dup.rs":"ad13eea21d4cdd2ab6c082f633392e1ff20fb0d1af5f2177041e0bf7f30da695","tests/ui/does-not-have-iter-interpolated-dup.stderr":"90a4bdb9267535f5d2785940148338d6b7d905548051d2c9c5dcbd58f2c11d8e","tests/ui/does-not-have-iter-interpolated.rs":"83a5b3f240651adcbe4b6e51076d76d653ad439b37442cf4054f1fd3c073f3b7","tests/ui/does-not-have-iter-interpolated.stderr":"ae7c2739554c862b331705e82781aa4687a4375210cef6ae899a4be4a4ec2d97","tests/ui/does-not-have-iter-separated.rs":"fe413c48331d5e3a7ae5fef6a5892a90c72f610d54595879eb49d0a94154ba3f","tests/ui/does-not-have-iter-separated.stderr":"03fd560979ebcd5aa6f83858bc2c3c01ba6546c16335101275505304895c1ae9","tests/ui/does-not-have-iter.rs":"09dc9499d861b63cebb0848b855b78e2dc9497bfde37ba6339f3625ae009a62f","tests/ui/does-not-have-iter.stderr":"d6da483c29e232ced72059bbdf05d31afb1df9e02954edaa9cfaea1ec6df72dc","tests/ui/not-quotable.rs":"5759d0884943417609f28faadc70254a3e2fd3d9bd6ff7297a3fb70a77fafd8a","tests/ui/not-quotable.stderr":"433a290bd53070d5cce6d623f9ef6f991756a78de109d3e486b46b699c2ce764","tests/ui/not-repeatable.rs":"a4b115c04e4e41049a05f5b69450503fbffeba031218b4189cb931839f7f9a9c","tests/ui/not-repeatable.stderr":"bbfb702638374001061251f81d63476851ac28ed743f13db9d65e30dd9bdcf52","tests/ui/wrong-type-span.rs":"6195e35ea844c0c52ba1cff5d790c3a371af6915d137d377834ad984229ef9ea","tests/ui/wrong-type-span.stderr":"cad072e40e0ecc04f375122ae41aede2f0da2a9244492b3fcf70249e59d1b128"},"package":"0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"}
\ No newline at end of file
diff --git a/crates/quote/Android.bp b/crates/quote/Android.bp
index f63af30..a6ff391 100644
--- a/crates/quote/Android.bp
+++ b/crates/quote/Android.bp
@@ -18,7 +18,7 @@
     host_cross_supported: false,
     crate_name: "quote",
     cargo_env_compat: true,
-    cargo_pkg_version: "1.0.37",
+    cargo_pkg_version: "1.0.38",
     crate_root: "src/lib.rs",
     edition: "2018",
     features: [
diff --git a/crates/quote/Cargo.toml b/crates/quote/Cargo.toml
index af97fc7..d0a3856 100644
--- a/crates/quote/Cargo.toml
+++ b/crates/quote/Cargo.toml
@@ -13,9 +13,10 @@
 edition = "2018"
 rust-version = "1.56"
 name = "quote"
-version = "1.0.37"
+version = "1.0.38"
 authors = ["David Tolnay <[email protected]>"]
 build = false
+autolib = false
 autobins = false
 autoexamples = false
 autotests = false
@@ -35,6 +36,10 @@
 rustdoc-args = ["--generate-link-to-definition"]
 targets = ["x86_64-unknown-linux-gnu"]
 
+[features]
+default = ["proc-macro"]
+proc-macro = ["proc-macro2/proc-macro"]
+
 [lib]
 name = "quote"
 path = "src/lib.rs"
@@ -58,7 +63,3 @@
 [dev-dependencies.trybuild]
 version = "1.0.66"
 features = ["diff"]
-
-[features]
-default = ["proc-macro"]
-proc-macro = ["proc-macro2/proc-macro"]
diff --git a/crates/quote/METADATA b/crates/quote/METADATA
index 3cd618b..68ce6d7 100644
--- a/crates/quote/METADATA
+++ b/crates/quote/METADATA
@@ -1,17 +1,17 @@
 name: "quote"
 description: "Quasi-quoting macro quote!(...)"
 third_party {
-  version: "1.0.37"
+  version: "1.0.38"
   license_type: NOTICE
   last_upgrade_date {
-    year: 2024
-    month: 12
-    day: 20
+    year: 2025
+    month: 1
+    day: 13
   }
   homepage: "https://crates.io/crates/quote"
   identifier {
     type: "Archive"
-    value: "https://static.crates.io/crates/quote/quote-1.0.37.crate"
-    version: "1.0.37"
+    value: "https://static.crates.io/crates/quote/quote-1.0.38.crate"
+    version: "1.0.38"
   }
 }
diff --git a/crates/quote/src/lib.rs b/crates/quote/src/lib.rs
index 2c72da2..3fa8f87 100644
--- a/crates/quote/src/lib.rs
+++ b/crates/quote/src/lib.rs
@@ -92,12 +92,13 @@
 //! [prettyplease]: https://github.com/dtolnay/prettyplease
 
 // Quote types in rustdoc of other crates get linked to here.
-#![doc(html_root_url = "https://docs.rs/quote/1.0.37")]
+#![doc(html_root_url = "https://docs.rs/quote/1.0.38")]
 #![allow(
     clippy::doc_markdown,
     clippy::missing_errors_doc,
     clippy::missing_panics_doc,
     clippy::module_name_repetitions,
+    clippy::needless_lifetimes,
     // false positive https://github.com/rust-lang/rust-clippy/issues/6983
     clippy::wrong_self_convention,
 )]
diff --git a/crates/quote/src/runtime.rs b/crates/quote/src/runtime.rs
index eff044a..4923ccb 100644
--- a/crates/quote/src/runtime.rs
+++ b/crates/quote/src/runtime.rs
@@ -102,7 +102,7 @@
         fn quote_into_iter(&'q self) -> (Self::Iter, HasIter);
     }
 
-    impl<'q, 'a, T: RepAsIteratorExt<'q> + ?Sized> RepAsIteratorExt<'q> for &'a T {
+    impl<'q, T: RepAsIteratorExt<'q> + ?Sized> RepAsIteratorExt<'q> for &T {
         type Iter = T::Iter;
 
         fn quote_into_iter(&'q self) -> (Self::Iter, HasIter) {
@@ -110,7 +110,7 @@
         }
     }
 
-    impl<'q, 'a, T: RepAsIteratorExt<'q> + ?Sized> RepAsIteratorExt<'q> for &'a mut T {
+    impl<'q, T: RepAsIteratorExt<'q> + ?Sized> RepAsIteratorExt<'q> for &mut T {
         type Iter = T::Iter;
 
         fn quote_into_iter(&'q self) -> (Self::Iter, HasIter) {
@@ -126,6 +126,14 @@
         }
     }
 
+    impl<'q, T: 'q, const N: usize> RepAsIteratorExt<'q> for [T; N] {
+        type Iter = slice::Iter<'q, T>;
+
+        fn quote_into_iter(&'q self) -> (Self::Iter, HasIter) {
+            (self.iter(), HasIter)
+        }
+    }
+
     impl<'q, T: 'q> RepAsIteratorExt<'q> for Vec<T> {
         type Iter = slice::Iter<'q, T>;
 
diff --git a/crates/quote/src/to_tokens.rs b/crates/quote/src/to_tokens.rs
index 2bcb961..0fbbe22 100644
--- a/crates/quote/src/to_tokens.rs
+++ b/crates/quote/src/to_tokens.rs
@@ -75,13 +75,13 @@
     }
 }
 
-impl<'a, T: ?Sized + ToTokens> ToTokens for &'a T {
+impl<T: ?Sized + ToTokens> ToTokens for &T {
     fn to_tokens(&self, tokens: &mut TokenStream) {
         (**self).to_tokens(tokens);
     }
 }
 
-impl<'a, T: ?Sized + ToTokens> ToTokens for &'a mut T {
+impl<T: ?Sized + ToTokens> ToTokens for &mut T {
     fn to_tokens(&self, tokens: &mut TokenStream) {
         (**self).to_tokens(tokens);
     }
diff --git a/crates/quote/tests/test.rs b/crates/quote/tests/test.rs
index 6ff1402..bf4fb88 100644
--- a/crates/quote/tests/test.rs
+++ b/crates/quote/tests/test.rs
@@ -105,6 +105,9 @@
 
     let ref_slice: &[X] = &[X, X];
     let _ = quote!(#(#ref_slice #ref_slice)*);
+
+    let array_of_array: [[u8; 2]; 2] = [[0; 2]; 2];
+    let _ = quote!(#(#(#array_of_array)*)*);
 }
 
 #[test]
diff --git a/crates/quote/tests/ui/not-quotable.stderr b/crates/quote/tests/ui/not-quotable.stderr
index 3196266..1549246 100644
--- a/crates/quote/tests/ui/not-quotable.stderr
+++ b/crates/quote/tests/ui/not-quotable.stderr
@@ -8,8 +8,8 @@
   |             required by a bound introduced by this call
   |
   = help: the following other types implement trait `ToTokens`:
-            &'a T
-            &'a mut T
+            &T
+            &mut T
             Box<T>
             CStr
             CString
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index d870e6a..984e54a 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -349,7 +349,7 @@
  "ptr_meta_derive",
  "quiche",
  "quickcheck",
- "quote 1.0.37",
+ "quote 1.0.38",
  "rand",
  "rand_chacha",
  "rand_core",
@@ -634,7 +634,7 @@
 dependencies = [
  "argh_shared",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -677,7 +677,7 @@
 checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -694,7 +694,7 @@
 checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -849,7 +849,7 @@
  "log",
  "peeking_take_while",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "regex",
  "rustc-hash",
  "shlex",
@@ -869,7 +869,7 @@
  "lazycell",
  "peeking_take_while",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "regex",
  "rustc-hash",
  "shlex",
@@ -892,7 +892,7 @@
  "log",
  "prettyplease 0.2.25",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "regex",
  "rustc-hash",
  "shlex",
@@ -1002,7 +1002,7 @@
 checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -1223,7 +1223,7 @@
 dependencies = [
  "heck",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -1563,7 +1563,7 @@
  "fnv",
  "ident_case",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "strsim 0.11.1",
  "syn 2.0.96",
 ]
@@ -1575,7 +1575,7 @@
 checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
 dependencies = [
  "darling_core",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -1627,7 +1627,7 @@
 checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -1647,7 +1647,7 @@
 checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -1696,7 +1696,7 @@
 checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -1800,7 +1800,7 @@
 checksum = "2f9ed6b3789237c8a0c1c505af1c7eb2c560df6186f01b098c3a1064ea532f38"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -1891,7 +1891,7 @@
 checksum = "1ab7934152eaf26aa5aa9f7371408ad5af4c31357073c9e84c3b9d7f11ad639a"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -2126,7 +2126,7 @@
 checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -2302,7 +2302,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ed3057b7d1e628480193188ccb1a7850d034a3add3a350f4ed921b48e287ada9"
 dependencies = [
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -2313,7 +2313,7 @@
 checksum = "f5070fa86976044fe2b004d874c10af5d1aed6d8f6a72ff93a6eb29cc87048bc"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -2983,7 +2983,7 @@
 checksum = "279a77bf40c85a08513aca203635b96610ebf0e37a92cb0cee76e04da100a426"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3113,7 +3113,7 @@
 checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3159,7 +3159,7 @@
 dependencies = [
  "proc-macro-error",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -3182,7 +3182,7 @@
 checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3277,7 +3277,7 @@
 dependencies = [
  "darling",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3344,7 +3344,7 @@
 dependencies = [
  "cfg-if",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3356,7 +3356,7 @@
 dependencies = [
  "cfg-if",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3423,7 +3423,7 @@
 checksum = "8f7da86466fe446079286ef4b2f6d789755b610a9d85da8477633f734d2697e8"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3486,7 +3486,7 @@
 checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -3535,7 +3535,7 @@
 dependencies = [
  "proc-macro-crate 3.1.0",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3607,7 +3607,7 @@
 checksum = "8d1296fab5231654a5aec8bf9e87ba4e3938c502fc4c3c0425a00084c78944be"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3633,7 +3633,7 @@
 checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.90",
 ]
 
@@ -3692,7 +3692,7 @@
 checksum = "e6085210d8ec9bcbdf38b5c8e97bccef1877f3f291eae48b65388ca979f5314e"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -3786,7 +3786,7 @@
  "pest_derive",
  "prettyplease 0.2.25",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "serde",
  "serde_json",
  "syn 2.0.96",
@@ -3859,7 +3859,7 @@
  "pest",
  "pest_meta",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -3900,7 +3900,7 @@
 checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -4119,7 +4119,7 @@
 dependencies = [
  "proc-macro-error-attr",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
  "version_check",
 ]
@@ -4131,7 +4131,7 @@
 checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "version_check",
 ]
 
@@ -4246,7 +4246,7 @@
 checksum = "bca9224df2e20e7c5548aeb5f110a0f3b77ef05f8585139b7148b59056168ed2"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -4299,9 +4299,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.37"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
 dependencies = [
  "proc-macro2 1.0.93",
 ]
@@ -4418,7 +4418,7 @@
 checksum = "46aef80f842736de545ada6ec65b81ee91504efd6853f4b96de7414c42ae7443"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -4588,7 +4588,7 @@
  "heck",
  "proc-macro-error",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
  "thiserror 1.0.49",
 ]
@@ -4602,7 +4602,7 @@
  "macro_rules_attribute",
  "prettyplease 0.1.25",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -4683,7 +4683,7 @@
 checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -4927,7 +4927,7 @@
 dependencies = [
  "proc-macro-crate 3.1.0",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "rand",
  "syn 1.0.109",
 ]
@@ -4964,7 +4964,7 @@
 dependencies = [
  "heck",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "rustversion",
  "syn 2.0.96",
 ]
@@ -4993,7 +4993,7 @@
 checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "unicode-ident",
 ]
 
@@ -5004,7 +5004,7 @@
 checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "unicode-ident",
 ]
 
@@ -5015,7 +5015,7 @@
 checksum = "b5dc35bb08dd1ca3dfb09dce91fd2d13294d6711c88897d9a9d60acf39bce049"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5038,7 +5038,7 @@
 checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5115,7 +5115,7 @@
 checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5126,7 +5126,7 @@
 checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5230,7 +5230,7 @@
 checksum = "8d9ef545650e79f30233c0003bcc2504d7efac6dad25fca40744de773fe2049c"
 dependencies = [
  "proc-macro2 1.0.92",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.90",
 ]
 
@@ -5266,7 +5266,7 @@
 checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5461,7 +5461,7 @@
 checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5585,7 +5585,7 @@
 checksum = "9b24e77d3fc1e617051e630f99da24bcae6328abab37b8f9216bb68d06804f9a"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5674,7 +5674,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ae7e5a6c33b1dec3f255f57ec0b6af0f0b2bb3021868be1d5eec7a38e2905ebc"
 dependencies = [
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5684,7 +5684,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "802d2051a700e3ec894c79f80d2705b69d85844dafbbe5d1a92776f8f48b563a"
 dependencies = [
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -5715,7 +5715,7 @@
  "fs-err",
  "once_cell",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "serde",
  "syn 2.0.96",
  "toml 0.5.11",
@@ -6015,7 +6015,7 @@
  "once_cell",
  "parking_lot",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "regex",
  "serde",
  "serde_json",
@@ -6033,7 +6033,7 @@
 dependencies = [
  "proc-macro-crate 1.3.1",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -6083,7 +6083,7 @@
  "log",
  "once_cell",
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
  "wasm-bindgen-shared",
 ]
@@ -6094,7 +6094,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
 dependencies = [
- "quote 1.0.37",
+ "quote 1.0.38",
  "wasm-bindgen-macro-support",
 ]
 
@@ -6105,7 +6105,7 @@
 checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
  "wasm-bindgen-backend",
  "wasm-bindgen-shared",
@@ -6139,7 +6139,7 @@
 dependencies = [
  "proc-macro2 1.0.93",
  "quick-xml",
- "quote 1.0.37",
+ "quote 1.0.38",
 ]
 
 [[package]]
@@ -6506,7 +6506,7 @@
 checksum = "15bd7679c15e22924f53aee34d4e448c45b674feb6129689af88593e129f8f42"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 1.0.109",
 ]
 
@@ -6584,7 +6584,7 @@
 checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -6595,7 +6595,7 @@
 checksum = "d3931cb58c62c13adec22e38686b559c86a30565e16ad6e8510a337cedc611e1"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
@@ -6615,7 +6615,7 @@
 checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
 dependencies = [
  "proc-macro2 1.0.93",
- "quote 1.0.37",
+ "quote 1.0.38",
  "syn 2.0.96",
 ]
 
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index 4faa13d..e24e8f0 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -264,7 +264,7 @@
 ptr_meta_derive = "=0.2.0"
 quiche = "=0.17.1"
 quickcheck = "=1.0.3"
-quote = "=1.0.37"
+quote = "=1.0.38"
 rand = "=0.8.5"
 rand_chacha = "=0.3.1"
 rand_core = "=0.6.4"