From dc0db358abe19481e475e10c32149b53370f1a1c Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Thu, 30 May 2024 05:57:31 +0200
Subject: Merging upstream version 1.72.1+dfsg1.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 vendor/pin-project-lite/tests/README.md            |  46 -------
 vendor/pin-project-lite/tests/compiletest.rs       |   1 +
 .../tests/expand/default/enum.expanded.rs          |  44 ++++---
 .../tests/expand/default/struct.expanded.rs        |  10 +-
 .../tests/expand/multifields/enum.expanded.rs      |  39 +++---
 .../tests/expand/multifields/struct.expanded.rs    |  41 +++----
 .../tests/expand/naming/enum-all.expanded.rs       |  44 ++++---
 .../tests/expand/naming/enum-mut.expanded.rs       |  21 ++--
 .../tests/expand/naming/enum-none.expanded.rs      |   8 +-
 .../tests/expand/naming/enum-ref.expanded.rs       |  21 ++--
 .../tests/expand/naming/struct-all.expanded.rs     |  15 ++-
 .../tests/expand/naming/struct-mut.expanded.rs     |  10 +-
 .../tests/expand/naming/struct-none.expanded.rs    |  10 +-
 .../tests/expand/naming/struct-ref.expanded.rs     |  10 +-
 .../tests/expand/pinned_drop/enum.expanded.rs      |  45 ++++---
 .../tests/expand/pinned_drop/enum.rs               |   3 +-
 .../tests/expand/pinned_drop/struct.expanded.rs    |  21 ++--
 .../tests/expand/pinned_drop/struct.rs             |   3 +-
 .../tests/expand/pub/enum.expanded.rs              |  34 ++++--
 .../tests/expand/pub/struct.expanded.rs            |  10 +-
 vendor/pin-project-lite/tests/expandtest.rs        |   5 +-
 vendor/pin-project-lite/tests/lint.rs              |   8 +-
 .../tests/ui/pin_project/conflict-drop.stderr      |   4 +-
 .../tests/ui/pin_project/conflict-unpin.stderr     |  14 +--
 .../tests/ui/pin_project/invalid-bounds.stderr     |  90 ++++++++++----
 .../tests/ui/pin_project/invalid.stderr            |  78 ++++++------
 .../pin_project/overlapping_lifetime_names.stderr  |  40 +++---
 .../ui/pin_project/overlapping_unpin_struct.stderr |  15 +--
 .../tests/ui/pin_project/packed.rs                 |   2 -
 .../tests/ui/pin_project/packed.stderr             | 136 ++++++++++++++-------
 .../tests/ui/pin_project/unpin_sneaky.stderr       |   6 -
 .../tests/ui/pin_project/unsupported.stderr        |  80 ++++++++----
 .../tests/ui/pinned_drop/call-drop-inner.stderr    |  11 +-
 .../ui/pinned_drop/conditional-drop-impl.stderr    |   8 +-
 34 files changed, 533 insertions(+), 400 deletions(-)
 delete mode 100644 vendor/pin-project-lite/tests/README.md

(limited to 'vendor/pin-project-lite/tests')

diff --git a/vendor/pin-project-lite/tests/README.md b/vendor/pin-project-lite/tests/README.md
deleted file mode 100644
index 47216165d..000000000
--- a/vendor/pin-project-lite/tests/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Tests
-
-Many of the tests in this repository are based on [pin-project's tests](https://github.com/taiki-e/pin-project/tree/HEAD/tests).
-
-To run all tests, run the following command:
-
-```sh
-cargo +nightly test --all
-```
-
-## UI tests (`ui`, `compiletest.rs`)
-
-This checks errors detected by the macro or the Rust compiler in the resulting
-expanded code.
-
-To run this test, run the following command:
-
-```sh
-cargo +nightly test --test compiletest
-```
-
-Locally, this test updates the files in the `ui` directory if there are
-changes to the generated code. If there are any changes to the files in the
-`ui` directory after running the test, please commit them.
-
-See also [`trybuild` documentation](https://docs.rs/trybuild).
-
-## Expansion tests (`expand`, `expandtest.rs`)
-
-Similar to ui tests, but instead of checking the compiler output, this checks
-the code generated by macros.
-
-See pin-project's [examples](https://github.com/taiki-e/pin-project/tree/HEAD/examples)
-for descriptions of what the generated code does, and why it needs to be generated.
-
-To run this test, run the following command:
-
-```sh
-cargo +nightly test --test expandtest
-```
-
-Locally, this test updates the files in the `expand` directory if there are
-changes to the generated code. If there are any changes to the files in the
-`expand` directory after running the test, please commit them.
-
-See also [`macrotest` documentation](https://docs.rs/macrotest).
diff --git a/vendor/pin-project-lite/tests/compiletest.rs b/vendor/pin-project-lite/tests/compiletest.rs
index 70d235894..06712d01b 100644
--- a/vendor/pin-project-lite/tests/compiletest.rs
+++ b/vendor/pin-project-lite/tests/compiletest.rs
@@ -1,4 +1,5 @@
 #![cfg(not(miri))]
+#![cfg(not(careful))]
 #![warn(rust_2018_idioms, single_use_lifetimes)]
 
 use std::env;
diff --git a/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs
index eae0aac85..09e869144 100644
--- a/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/default/enum.expanded.rs
@@ -43,10 +43,7 @@ where
 #[allow(clippy::redundant_pub_crate)]
 #[allow(clippy::type_repetition_in_bounds)]
 enum EnumProjReplace<T, U> {
-    Struct {
-        pinned: ::pin_project_lite::__private::PhantomData<T>,
-        unpinned: U,
-    },
+    Struct { pinned: ::pin_project_lite::__private::PhantomData<T>, unpinned: U },
     Unit,
 }
 #[allow(single_use_lifetimes)]
@@ -54,32 +51,43 @@ enum EnumProjReplace<T, U> {
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Enum<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> EnumProj<'__pin, T, U> {
             unsafe {
                 match self.get_unchecked_mut() {
-                    Self::Struct { pinned, unpinned } => EnumProj::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProj::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProj::Unit,
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> EnumProjRef<'__pin, T, U> {
             unsafe {
                 match self.get_ref() {
-                    Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProjRef::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProjRef::Unit,
                 }
             }
         }
+        #[inline]
         fn project_replace(
             self: ::pin_project_lite::__private::Pin<&mut Self>,
             replacement: Self,
@@ -98,7 +106,9 @@ const _: () = {
                         };
                         {
                             (
-                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned),
+                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+                                    pinned,
+                                ),
                                 (),
                             );
                         }
@@ -115,10 +125,10 @@ const _: () = {
         Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs
index 8ab318cfb..fc10dd718 100644
--- a/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/default/struct.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
         unpinned: &'__pin (U),
     }
     impl<T, U> Struct<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
         pinned: T,
         unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs
index fca0febcd..f6bf9dcdd 100644
--- a/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/multifields/enum.expanded.rs
@@ -1,11 +1,6 @@
 use pin_project_lite::pin_project;
 enum Enum<T, U> {
-    Struct {
-        pinned1: T,
-        pinned2: T,
-        unpinned1: U,
-        unpinned2: U,
-    },
+    Struct { pinned1: T, pinned2: T, unpinned1: U, unpinned2: U },
     Unit,
 }
 #[allow(dead_code)]
@@ -27,6 +22,7 @@ enum EnumProjReplace<T, U> {
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Enum<T, U> {
+        #[inline]
         fn project_replace(
             self: ::pin_project_lite::__private::Pin<&mut Self>,
             replacement: Self,
@@ -38,22 +34,25 @@ const _: () = {
                     replacement,
                 );
                 match &mut *__self_ptr {
-                    Self::Struct {
-                        pinned1,
-                        pinned2,
-                        unpinned1,
-                        unpinned2,
-                    } => {
+                    Self::Struct { pinned1, pinned2, unpinned1, unpinned2 } => {
                         let result = EnumProjReplace::Struct {
                             pinned1: ::pin_project_lite::__private::PhantomData,
                             pinned2: ::pin_project_lite::__private::PhantomData,
-                            unpinned1: ::pin_project_lite::__private::ptr::read(unpinned1),
-                            unpinned2: ::pin_project_lite::__private::ptr::read(unpinned2),
+                            unpinned1: ::pin_project_lite::__private::ptr::read(
+                                unpinned1,
+                            ),
+                            unpinned2: ::pin_project_lite::__private::ptr::read(
+                                unpinned2,
+                            ),
                         };
                         {
                             (
-                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned1),
-                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned2),
+                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+                                    pinned1,
+                                ),
+                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+                                    pinned2,
+                                ),
                                 (),
                                 (),
                             );
@@ -76,10 +75,10 @@ const _: () = {
         ),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs
index 4320f6843..fdf6edfa4 100644
--- a/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/multifields/struct.expanded.rs
@@ -55,16 +55,13 @@ const _: () = {
         unpinned2: &'__pin (U),
     }
     impl<T, U> Struct<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> Projection<'__pin, T, U> {
             unsafe {
-                let Self {
-                    pinned1,
-                    pinned2,
-                    unpinned1,
-                    unpinned2,
-                } = self.get_unchecked_mut();
+                let Self { pinned1, pinned2, unpinned1, unpinned2 } = self
+                    .get_unchecked_mut();
                 Projection {
                     pinned1: ::pin_project_lite::__private::Pin::new_unchecked(pinned1),
                     pinned2: ::pin_project_lite::__private::Pin::new_unchecked(pinned2),
@@ -73,16 +70,12 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> ProjectionRef<'__pin, T, U> {
             unsafe {
-                let Self {
-                    pinned1,
-                    pinned2,
-                    unpinned1,
-                    unpinned2,
-                } = self.get_ref();
+                let Self { pinned1, pinned2, unpinned1, unpinned2 } = self.get_ref();
                 ProjectionRef {
                     pinned1: ::pin_project_lite::__private::Pin::new_unchecked(pinned1),
                     pinned2: ::pin_project_lite::__private::Pin::new_unchecked(pinned2),
@@ -91,6 +84,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_replace(
             self: ::pin_project_lite::__private::Pin<&mut Self>,
             replacement: Self,
@@ -101,12 +95,7 @@ const _: () = {
                     __self_ptr,
                     replacement,
                 );
-                let Self {
-                    pinned1,
-                    pinned2,
-                    unpinned1,
-                    unpinned2,
-                } = &mut *__self_ptr;
+                let Self { pinned1, pinned2, unpinned1, unpinned2 } = &mut *__self_ptr;
                 let result = StructProjReplace {
                     pinned1: ::pin_project_lite::__private::PhantomData,
                     pinned2: ::pin_project_lite::__private::PhantomData,
@@ -115,8 +104,12 @@ const _: () = {
                 };
                 {
                     (
-                        ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned1),
-                        ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned2),
+                        ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+                            pinned1,
+                        ),
+                        ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+                            pinned2,
+                        ),
                         (),
                         (),
                     );
@@ -133,10 +126,10 @@ const _: () = {
         unpinned1: ::pin_project_lite::__private::AlwaysUnpin<U>,
         unpinned2: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs
index eae0aac85..09e869144 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-all.expanded.rs
@@ -43,10 +43,7 @@ where
 #[allow(clippy::redundant_pub_crate)]
 #[allow(clippy::type_repetition_in_bounds)]
 enum EnumProjReplace<T, U> {
-    Struct {
-        pinned: ::pin_project_lite::__private::PhantomData<T>,
-        unpinned: U,
-    },
+    Struct { pinned: ::pin_project_lite::__private::PhantomData<T>, unpinned: U },
     Unit,
 }
 #[allow(single_use_lifetimes)]
@@ -54,32 +51,43 @@ enum EnumProjReplace<T, U> {
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Enum<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> EnumProj<'__pin, T, U> {
             unsafe {
                 match self.get_unchecked_mut() {
-                    Self::Struct { pinned, unpinned } => EnumProj::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProj::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProj::Unit,
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> EnumProjRef<'__pin, T, U> {
             unsafe {
                 match self.get_ref() {
-                    Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProjRef::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProjRef::Unit,
                 }
             }
         }
+        #[inline]
         fn project_replace(
             self: ::pin_project_lite::__private::Pin<&mut Self>,
             replacement: Self,
@@ -98,7 +106,9 @@ const _: () = {
                         };
                         {
                             (
-                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned),
+                                ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+                                    pinned,
+                                ),
                                 (),
                             );
                         }
@@ -115,10 +125,10 @@ const _: () = {
         Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs
index 7c4d6afbf..79c9050e6 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-mut.expanded.rs
@@ -25,15 +25,20 @@ where
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Enum<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> EnumProj<'__pin, T, U> {
             unsafe {
                 match self.get_unchecked_mut() {
-                    Self::Struct { pinned, unpinned } => EnumProj::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProj::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProj::Unit,
                 }
             }
@@ -45,10 +50,10 @@ const _: () = {
         Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs
index 28ce97da7..fc3b3dcaf 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-none.expanded.rs
@@ -14,10 +14,10 @@ const _: () = {
         Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs
index a1a013bda..fa155d9b5 100644
--- a/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/enum-ref.expanded.rs
@@ -25,15 +25,20 @@ where
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Enum<T, U> {
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> EnumProjRef<'__pin, T, U> {
             unsafe {
                 match self.get_ref() {
-                    Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProjRef::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProjRef::Unit,
                 }
             }
@@ -45,10 +50,10 @@ const _: () = {
         Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs
index b91c24eb2..dfea76248 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-all.expanded.rs
@@ -47,6 +47,7 @@ struct StructProjReplace<T, U> {
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Struct<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> StructProj<'__pin, T, U> {
@@ -58,6 +59,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> StructProjRef<'__pin, T, U> {
@@ -69,6 +71,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_replace(
             self: ::pin_project_lite::__private::Pin<&mut Self>,
             replacement: Self,
@@ -86,7 +89,9 @@ const _: () = {
                 };
                 {
                     (
-                        ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(pinned),
+                        ::pin_project_lite::__private::UnsafeDropInPlaceGuard::new(
+                            pinned,
+                        ),
                         (),
                     );
                 }
@@ -100,10 +105,10 @@ const _: () = {
         pinned: T,
         unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs
index aaa41cd08..ed05dbbd1 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-mut.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
         unpinned: &'__pin (U),
     }
     impl<T, U> Struct<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> StructProj<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
         pinned: T,
         unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs
index 8ab318cfb..fc10dd718 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-none.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
         unpinned: &'__pin (U),
     }
     impl<T, U> Struct<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
         pinned: T,
         unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs b/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs
index 3d97ab8fa..4edb63147 100644
--- a/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/naming/struct-ref.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
         unpinned: &'__pin mut (U),
     }
     impl<T, U> Struct<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> StructProjRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
         pinned: T,
         unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs
index 665ff6338..838707dc5 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.expanded.rs
@@ -1,5 +1,5 @@
-use pin_project_lite::pin_project;
 use std::pin::Pin;
+use pin_project_lite::pin_project;
 enum Enum<T, U> {
     Struct { pinned: T, unpinned: U },
     Unit,
@@ -43,28 +43,38 @@ where
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Enum<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> EnumProj<'__pin, T, U> {
             unsafe {
                 match self.get_unchecked_mut() {
-                    Self::Struct { pinned, unpinned } => EnumProj::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProj::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProj::Unit,
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> EnumProjRef<'__pin, T, U> {
             unsafe {
                 match self.get_ref() {
-                    Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProjRef::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProjRef::Unit,
                 }
             }
@@ -76,18 +86,21 @@ const _: () = {
         Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     impl<T, U> ::pin_project_lite::__private::Drop for Enum<T, U> {
         fn drop(&mut self) {
-            fn __drop_inner<T, U>(this: ::pin_project_lite::__private::Pin<&mut Enum<T, U>>) {
+            fn __drop_inner<T, U>(
+                this: ::pin_project_lite::__private::Pin<&mut Enum<T, U>>,
+            ) {
                 fn __drop_inner() {}
                 let _ = this;
             }
-            let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> =
-                unsafe { ::pin_project_lite::__private::Pin::new_unchecked(self) };
+            let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> = unsafe {
+                ::pin_project_lite::__private::Pin::new_unchecked(self)
+            };
             __drop_inner(pinned_self);
         }
     }
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs
index 1855cb7a1..5f3508c0e 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/enum.rs
@@ -1,6 +1,7 @@
-use pin_project_lite::pin_project;
 use std::pin::Pin;
 
+use pin_project_lite::pin_project;
+
 pin_project! {
     #[project = EnumProj]
     #[project_ref = EnumProjRef]
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs
index 5b82b7a19..567fefa8c 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.expanded.rs
@@ -1,5 +1,5 @@
-use pin_project_lite::pin_project;
 use std::pin::Pin;
+use pin_project_lite::pin_project;
 struct Struct<T, U> {
     pinned: T,
     unpinned: U,
@@ -39,6 +39,7 @@ const _: () = {
         unpinned: &'__pin (U),
     }
     impl<T, U> Struct<T, U> {
+        #[inline]
         fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> Projection<'__pin, T, U> {
@@ -50,6 +51,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> ProjectionRef<'__pin, T, U> {
@@ -68,18 +70,21 @@ const _: () = {
         pinned: T,
         unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     impl<T, U> ::pin_project_lite::__private::Drop for Struct<T, U> {
         fn drop(&mut self) {
-            fn __drop_inner<T, U>(this: ::pin_project_lite::__private::Pin<&mut Struct<T, U>>) {
+            fn __drop_inner<T, U>(
+                this: ::pin_project_lite::__private::Pin<&mut Struct<T, U>>,
+            ) {
                 fn __drop_inner() {}
                 let _ = this;
             }
-            let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> =
-                unsafe { ::pin_project_lite::__private::Pin::new_unchecked(self) };
+            let pinned_self: ::pin_project_lite::__private::Pin<&mut Self> = unsafe {
+                ::pin_project_lite::__private::Pin::new_unchecked(self)
+            };
             __drop_inner(pinned_self);
         }
     }
diff --git a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs
index 0cc756769..5400ecbbd 100644
--- a/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs
+++ b/vendor/pin-project-lite/tests/expand/pinned_drop/struct.rs
@@ -1,6 +1,7 @@
-use pin_project_lite::pin_project;
 use std::pin::Pin;
 
+use pin_project_lite::pin_project;
+
 pin_project! {
     struct Struct<T, U> {
         #[pin]
diff --git a/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs b/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs
index 6f190cba0..aebc3f738 100644
--- a/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pub/enum.expanded.rs
@@ -42,28 +42,38 @@ where
 #[allow(clippy::used_underscore_binding)]
 const _: () = {
     impl<T, U> Enum<T, U> {
+        #[inline]
         pub(crate) fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> EnumProj<'__pin, T, U> {
             unsafe {
                 match self.get_unchecked_mut() {
-                    Self::Struct { pinned, unpinned } => EnumProj::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProj::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProj::Unit,
                 }
             }
         }
+        #[inline]
         pub(crate) fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> EnumProjRef<'__pin, T, U> {
             unsafe {
                 match self.get_ref() {
-                    Self::Struct { pinned, unpinned } => EnumProjRef::Struct {
-                        pinned: ::pin_project_lite::__private::Pin::new_unchecked(pinned),
-                        unpinned: unpinned,
-                    },
+                    Self::Struct { pinned, unpinned } => {
+                        EnumProjRef::Struct {
+                            pinned: ::pin_project_lite::__private::Pin::new_unchecked(
+                                pinned,
+                            ),
+                            unpinned: unpinned,
+                        }
+                    }
                     Self::Unit => EnumProjRef::Unit,
                 }
             }
@@ -75,10 +85,10 @@ const _: () = {
         Struct: (T, ::pin_project_lite::__private::AlwaysUnpin<U>),
         Unit: (),
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Enum<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs b/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs
index 7b5826d14..7562eb5b7 100644
--- a/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs
+++ b/vendor/pin-project-lite/tests/expand/pub/struct.expanded.rs
@@ -38,6 +38,7 @@ const _: () = {
         pub unpinned: &'__pin (U),
     }
     impl<T, U> Struct<T, U> {
+        #[inline]
         pub(crate) fn project<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin mut Self>,
         ) -> Projection<'__pin, T, U> {
@@ -49,6 +50,7 @@ const _: () = {
                 }
             }
         }
+        #[inline]
         pub(crate) fn project_ref<'__pin>(
             self: ::pin_project_lite::__private::Pin<&'__pin Self>,
         ) -> ProjectionRef<'__pin, T, U> {
@@ -67,10 +69,10 @@ const _: () = {
         pinned: T,
         unpinned: ::pin_project_lite::__private::AlwaysUnpin<U>,
     }
-    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U> where
-        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin
-    {
-    }
+    impl<'__pin, T, U> ::pin_project_lite::__private::Unpin for Struct<T, U>
+    where
+        __Origin<'__pin, T, U>: ::pin_project_lite::__private::Unpin,
+    {}
     trait MustNotImplDrop {}
     #[allow(clippy::drop_bounds, drop_bounds)]
     impl<T: ::pin_project_lite::__private::Drop> MustNotImplDrop for T {}
diff --git a/vendor/pin-project-lite/tests/expandtest.rs b/vendor/pin-project-lite/tests/expandtest.rs
index 3f0d5c112..04a06669d 100644
--- a/vendor/pin-project-lite/tests/expandtest.rs
+++ b/vendor/pin-project-lite/tests/expandtest.rs
@@ -1,4 +1,5 @@
 #![cfg(not(miri))]
+#![cfg(not(careful))]
 #![warn(rust_2018_idioms, single_use_lifetimes)]
 
 use std::{
@@ -13,9 +14,9 @@ const PATH: &str = "tests/expand/**/*.rs";
 fn expandtest() {
     let is_ci = env::var_os("CI").is_some();
     let cargo = &*env::var("CARGO").unwrap_or_else(|_| "cargo".into());
-    if !has_command(&[cargo, "expand"]) || !has_command(&[cargo, "fmt"]) {
+    if !has_command(&[cargo, "expand"]) {
         if is_ci {
-            panic!("expandtest requires rustfmt and cargo-expand");
+            panic!("expandtest requires cargo-expand");
         }
         return;
     }
diff --git a/vendor/pin-project-lite/tests/lint.rs b/vendor/pin-project-lite/tests/lint.rs
index 852f940bc..cc3f3951c 100644
--- a/vendor/pin-project-lite/tests/lint.rs
+++ b/vendor/pin-project-lite/tests/lint.rs
@@ -18,6 +18,7 @@
     box_pointers,
     deprecated_in_future,
     fuzzy_provenance_casts,
+    let_underscore_drop,
     lossy_provenance_casts,
     macro_use_extern_crate,
     meta_variable_misuse,
@@ -27,14 +28,18 @@
     missing_docs,
     non_ascii_idents,
     noop_method_call,
+    private_bounds,
+    private_interfaces,
     single_use_lifetimes,
     trivial_casts,
     trivial_numeric_casts,
+    unnameable_types,
     unreachable_pub,
     unused_import_braces,
     unused_lifetimes,
     unused_qualifications,
     unused_results,
+    unused_tuple_struct_fields,
     variant_size_differences
 )]
 #![warn(clippy::all, clippy::pedantic, clippy::nursery, clippy::restriction)]
@@ -212,11 +217,11 @@ pub mod clippy_type_repetition_in_bounds {
     }
 }
 
+#[allow(missing_debug_implementations)]
 pub mod clippy_used_underscore_binding {
     use pin_project_lite::pin_project;
 
     pin_project! {
-        #[derive(Debug)]
         pub struct Struct<T, U> {
             #[pin]
             pub _pinned: T,
@@ -227,7 +232,6 @@ pub mod clippy_used_underscore_binding {
     pin_project! {
         #[project = EnumProj]
         #[project_ref = EnumProjRef]
-        #[derive(Debug)]
         pub enum Enum<T, U> {
             Struct {
                 #[pin]
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr b/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr
index 66872bd4b..8c870d751 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/conflict-drop.stderr
@@ -1,4 +1,4 @@
-error[E0119]: conflicting implementations of trait `_::MustNotImplDrop` for type `Foo<_, _>`
+error[E0119]: conflicting implementations of trait `MustNotImplDrop` for type `Foo<_, _>`
  --> tests/ui/pin_project/conflict-drop.rs:3:1
   |
 3 | / pin_project! { //~ ERROR E0119
@@ -13,4 +13,4 @@ error[E0119]: conflicting implementations of trait `_::MustNotImplDrop` for type
   | |_first implementation here
   |   conflicting implementation for `Foo<_, _>`
   |
-  = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+  = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr b/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr
index bd30fafdd..3ac8c1f83 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/conflict-unpin.stderr
@@ -1,4 +1,4 @@
-error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Foo<_, _>`
+error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<_, _>`
   --> tests/ui/pin_project/conflict-unpin.rs:5:1
    |
 5  | / pin_project! { //~ ERROR E0119
@@ -11,11 +11,11 @@ error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type
    | |_^ conflicting implementation for `Foo<_, _>`
 ...
 14 |   impl<T, U> Unpin for Foo<T, U> where T: Unpin {} // Conditional Unpin impl
-   |   --------------------------------------------- first implementation here
+   |   ------------------------------ first implementation here
    |
-   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Bar<_, _>`
+error[E0119]: conflicting implementations of trait `Unpin` for type `Bar<_, _>`
   --> tests/ui/pin_project/conflict-unpin.rs:18:1
    |
 18 | / pin_project! { //~ ERROR E0119
@@ -30,9 +30,9 @@ error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type
 27 |   impl<T, U> Unpin for Bar<T, U> {} // Non-conditional Unpin impl
    |   ------------------------------ first implementation here
    |
-   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Baz<_, _>`
+error[E0119]: conflicting implementations of trait `Unpin` for type `Baz<_, _>`
   --> tests/ui/pin_project/conflict-unpin.rs:29:1
    |
 29 | / pin_project! { //~ ERROR E0119
@@ -47,4 +47,4 @@ error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type
 38 |   impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {} // Conditional Unpin impl
    |   -------------------------------------------- first implementation here
    |
-   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr b/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr
index 40e79bf92..ae15b7a35 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/invalid-bounds.stderr
@@ -3,12 +3,24 @@ error: no rules expected the token `:`
   |
 4 |     struct Generics1<T: 'static : Sized> { //~ ERROR no rules expected the token `:`
   |                                 ^ no rules expected this token in macro call
+  |
+note: while trying to match `>`
+ --> src/lib.rs
+  |
+  |         >)?
+  |         ^
 
 error: no rules expected the token `:`
   --> tests/ui/pin_project/invalid-bounds.rs:10:33
    |
 10 |     struct Generics2<T: 'static : ?Sized> { //~ ERROR no rules expected the token `:`
    |                                 ^ no rules expected this token in macro call
+   |
+note: while trying to match `>`
+  --> src/lib.rs
+   |
+   |         >)?
+   |         ^
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -24,7 +36,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -39,7 +51,8 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_expected one of `+`, `,`, `=`, or `>`
    |   unexpected token
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -55,7 +68,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:15:1
@@ -71,7 +84,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -87,7 +100,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -102,7 +115,8 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_expected one of `+`, `,`, `=`, or `>`
    |   unexpected token
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -118,7 +132,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:21:1
@@ -134,7 +148,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -150,7 +164,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -165,7 +179,8 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_expected one of `+`, `,`, `=`, or `>`
    |   unexpected token
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -181,7 +196,7 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, `=`, or `>`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:27:1
@@ -197,25 +212,43 @@ error: expected one of `+`, `,`, `=`, or `>`, found `:`
    | |_unexpected token
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: no rules expected the token `Sized`
   --> tests/ui/pin_project/invalid-bounds.rs:34:34
    |
 34 |     struct Generics6<T: ?Sized : Sized> { //~ ERROR no rules expected the token `Sized`
    |                                  ^^^^^ no rules expected this token in macro call
+   |
+note: while trying to match meta-variable `$generics_lifetime_bound:lifetime`
+  --> src/lib.rs
+   |
+   |                 $(: $generics_lifetime_bound:lifetime)?
+   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error: no rules expected the token `:`
   --> tests/ui/pin_project/invalid-bounds.rs:42:20
    |
 42 |         T: 'static : Sized //~ ERROR no rules expected the token `:`
    |                    ^ no rules expected this token in macro call
+   |
+note: while trying to match `{`
+  --> src/lib.rs
+   |
+   |         {
+   |         ^
 
 error: no rules expected the token `:`
   --> tests/ui/pin_project/invalid-bounds.rs:51:20
    |
 51 |         T: 'static : ?Sized //~ ERROR no rules expected the token `:`
    |                    ^ no rules expected this token in macro call
+   |
+note: while trying to match `{`
+  --> src/lib.rs
+   |
+   |         {
+   |         ^
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -232,7 +265,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, or `{`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -249,7 +282,8 @@ error: expected one of `+`, `,`, or `{`, found `:`
    | |_expected one of `+`, `,`, or `{`
    |   unexpected token
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -266,7 +300,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:57:1
@@ -283,7 +317,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -300,7 +334,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, or `{`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -317,7 +351,8 @@ error: expected one of `+`, `,`, or `{`, found `:`
    | |_expected one of `+`, `,`, or `{`
    |   unexpected token
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -334,7 +369,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:66:1
@@ -351,7 +386,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -368,7 +403,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected one of `+`, `,`, or `{`, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -385,7 +420,8 @@ error: expected one of `+`, `,`, or `{`, found `:`
    | |_expected one of `+`, `,`, or `{`
    |   unexpected token
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: type ascription syntax has been removed, see issue #101728 <https://github.com/rust-lang/rust/issues/101728>
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -402,7 +438,7 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: expected `{` after struct name, found `:`
   --> tests/ui/pin_project/invalid-bounds.rs:75:1
@@ -419,10 +455,16 @@ error: expected `{` after struct name, found `:`
    | |_expected `{` after struct name
    |   in this macro invocation
    |
-   = note: this error originates in the macro `$crate::__pin_project_parse_generics` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_parse_generics` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: no rules expected the token `Sized`
   --> tests/ui/pin_project/invalid-bounds.rs:87:21
    |
 87 |         T: ?Sized : Sized //~ ERROR no rules expected the token `Sized`
    |                     ^^^^^ no rules expected this token in macro call
+   |
+note: while trying to match meta-variable `$where_clause_lifetime_bound:lifetime`
+  --> src/lib.rs
+   |
+   |                 $(: $where_clause_lifetime_bound:lifetime)?
+   |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr b/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr
index 623a88672..5d2e305cf 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/invalid.stderr
@@ -1,56 +1,50 @@
-error: no rules expected the token `struct`
- --> tests/ui/pin_project/invalid.rs:3:1
+error: no rules expected the token `(`
+ --> tests/ui/pin_project/invalid.rs:5:14
   |
-3 | / pin_project! {
-4 | |     struct A<T> {
-5 | |         #[pin()] //~ ERROR no rules expected the token `(`
-6 | |         pinned: T,
-7 | |     }
-8 | | }
-  | |_^ no rules expected this token in macro call
+5 |         #[pin()] //~ ERROR no rules expected the token `(`
+  |              ^ no rules expected this token in macro call
   |
-  = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `]`
+ --> src/lib.rs
+  |
+  |                 $(#[$pin:ident])?
+  |                               ^
 
-error: no rules expected the token `struct`
- --> tests/ui/pin_project/invalid.rs:3:1
+error: no rules expected the token `(`
+ --> tests/ui/pin_project/invalid.rs:5:14
+  |
+5 |         #[pin()] //~ ERROR no rules expected the token `(`
+  |              ^ no rules expected this token in macro call
   |
-3 | / pin_project! {
-4 | |     struct A<T> {
-5 | |         #[pin()] //~ ERROR no rules expected the token `(`
-6 | |         pinned: T,
-7 | |     }
-8 | | }
-  | |_^ no rules expected this token in macro call
+note: while trying to match `]`
+ --> src/lib.rs
   |
-  = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+  |                 $(#[$pin:ident])?
+  |                               ^
 
-error: no rules expected the token `struct`
-  --> tests/ui/pin_project/invalid.rs:17:1
+error: no rules expected the token `#`
+  --> tests/ui/pin_project/invalid.rs:20:9
    |
-17 | / pin_project! {
-18 | |     struct C<T> {
-19 | |         #[pin]
-20 | |         #[pin] //~ ERROR no rules expected the token `#`
-21 | |         pinned: T,
-22 | |     }
-23 | | }
-   | |_^ no rules expected this token in macro call
+20 |         #[pin] //~ ERROR no rules expected the token `#`
+   |         ^ no rules expected this token in macro call
    |
-   = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match meta-variable `$field_vis:vis`
+  --> src/lib.rs
+   |
+   |                 $field_vis:vis $field:ident: $field_ty:ty
+   |                 ^^^^^^^^^^^^^^
 
-error: no rules expected the token `struct`
-  --> tests/ui/pin_project/invalid.rs:17:1
+error: no rules expected the token `#`
+  --> tests/ui/pin_project/invalid.rs:20:9
+   |
+20 |         #[pin] //~ ERROR no rules expected the token `#`
+   |         ^ no rules expected this token in macro call
    |
-17 | / pin_project! {
-18 | |     struct C<T> {
-19 | |         #[pin]
-20 | |         #[pin] //~ ERROR no rules expected the token `#`
-21 | |         pinned: T,
-22 | |     }
-23 | | }
-   | |_^ no rules expected this token in macro call
+note: while trying to match meta-variable `$field_vis:vis`
+  --> src/lib.rs
    |
-   = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+   |                 $field_vis:vis $field:ident: $field_ty:ty
+   |                 ^^^^^^^^^^^^^^
 
 error: cannot find attribute `pin` in this scope
   --> tests/ui/pin_project/invalid.rs:11:7
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr
index 35074d075..cfdffb2ce 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_lifetime_names.stderr
@@ -1,38 +1,40 @@
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
  --> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
   |
 3 | / pin_project! { //~ ERROR E0263,E0496
 4 | |     pub struct Foo<'__pin, T> {
-  | |                    ^^^^^^ declared twice
+  | |                    ^^^^^^ already used
 5 | |         #[pin]
 6 | |         field: &'__pin mut T,
 7 | |     }
 8 | | }
-  | |_- previous declaration here
+  | |_- first use of `'__pin`
 
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
  --> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
   |
 3 | / pin_project! { //~ ERROR E0263,E0496
 4 | |     pub struct Foo<'__pin, T> {
-  | |                    ^^^^^^ declared twice
+  | |                    ^^^^^^ already used
 5 | |         #[pin]
 6 | |         field: &'__pin mut T,
 7 | |     }
 8 | | }
-  | |_- previous declaration here
+  | |_- first use of `'__pin`
 
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
- --> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
+error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in scope
+ --> tests/ui/pin_project/overlapping_lifetime_names.rs:3:1
   |
 3 | / pin_project! { //~ ERROR E0263,E0496
 4 | |     pub struct Foo<'__pin, T> {
-  | |                    ^^^^^^ declared twice
+  | |                    ------ first declared here
 5 | |         #[pin]
 6 | |         field: &'__pin mut T,
 7 | |     }
 8 | | }
-  | |_- previous declaration here
+  | |_^ lifetime `'__pin` already in scope
+  |
+  = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in scope
  --> tests/ui/pin_project/overlapping_lifetime_names.rs:3:1
@@ -46,30 +48,28 @@ error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in
 8 | | }
   | |_^ lifetime `'__pin` already in scope
   |
-  = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` (in Nightly builds, run with -Z macro-backtrace for more info)
+  = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error[E0496]: lifetime name `'__pin` shadows a lifetime name that is already in scope
- --> tests/ui/pin_project/overlapping_lifetime_names.rs:3:1
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
+ --> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
   |
 3 | / pin_project! { //~ ERROR E0263,E0496
 4 | |     pub struct Foo<'__pin, T> {
-  | |                    ------ first declared here
+  | |                    ^^^^^^ already used
 5 | |         #[pin]
 6 | |         field: &'__pin mut T,
 7 | |     }
 8 | | }
-  | |_^ lifetime `'__pin` already in scope
-  |
-  = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` (in Nightly builds, run with -Z macro-backtrace for more info)
+  | |_- first use of `'__pin`
 
-error[E0263]: lifetime name `'__pin` declared twice in the same scope
+error[E0403]: the name `'__pin` is already used for a generic parameter in this item's generic parameters
  --> tests/ui/pin_project/overlapping_lifetime_names.rs:4:20
   |
 3 | / pin_project! { //~ ERROR E0263,E0496
 4 | |     pub struct Foo<'__pin, T> {
-  | |                    ^^^^^^ declared twice
+  | |                    ^^^^^^ already used
 5 | |         #[pin]
 6 | |         field: &'__pin mut T,
 7 | |     }
 8 | | }
-  | |_- previous declaration here
+  | |_- first use of `'__pin`
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr
index 303e7cbb5..fd7d64f16 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/overlapping_unpin_struct.stderr
@@ -1,11 +1,12 @@
 error[E0277]: `PhantomPinned` cannot be unpinned
-  --> tests/ui/pin_project/overlapping_unpin_struct.rs:19:5
+  --> tests/ui/pin_project/overlapping_unpin_struct.rs:19:16
    |
 19 |     is_unpin::<Foo<PhantomPinned>>(); //~ ERROR E0277
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `_::__Origin<'_, PhantomPinned>`, the trait `Unpin` is not implemented for `PhantomPinned`
+   |                ^^^^^^^^^^^^^^^^^^ within `_::__Origin<'_, PhantomPinned>`, the trait `Unpin` is not implemented for `PhantomPinned`
    |
-   = note: consider using `Box::pin`
-note: required because it appears within the type `_::__Origin<'_, PhantomPinned>`
+   = note: consider using the `pin!` macro
+           consider using `Box::pin` if you need to access the pinned value outside of the current scope
+note: required because it appears within the type `__Origin<'_, PhantomPinned>`
   --> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1
    |
 5  | / pin_project! {
@@ -15,7 +16,7 @@ note: required because it appears within the type `_::__Origin<'_, PhantomPinned
 9  | |     }
 10 | | }
    | |_^
-note: required because of the requirements on the impl of `Unpin` for `Foo<PhantomPinned>`
+note: required for `Foo<PhantomPinned>` to implement `Unpin`
   --> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1
    |
 5  | / pin_project! {
@@ -24,10 +25,10 @@ note: required because of the requirements on the impl of `Unpin` for `Foo<Phant
 8  | |         inner: T,
 9  | |     }
 10 | | }
-   | |_^
+   | |_^ unsatisfied trait bound introduced here
 note: required by a bound in `is_unpin`
   --> tests/ui/pin_project/overlapping_unpin_struct.rs:16:16
    |
 16 | fn is_unpin<T: Unpin>() {}
    |                ^^^^^ required by this bound in `is_unpin`
-   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/packed.rs b/vendor/pin-project-lite/tests/ui/pin_project/packed.rs
index 50afb118c..507a0385f 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/packed.rs
+++ b/vendor/pin-project-lite/tests/ui/pin_project/packed.rs
@@ -1,5 +1,3 @@
-#![allow(unaligned_references)]
-
 use pin_project_lite::pin_project;
 
 pin_project! { //~ ERROR reference to packed field is unaligned
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr b/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr
index 81fb4f1fc..710ec08e4 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/packed.stderr
@@ -1,57 +1,101 @@
-error: reference to packed field is unaligned
-  --> tests/ui/pin_project/packed.rs:5:1
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:3:1
+  |
+3 | / pin_project! { //~ ERROR reference to packed field is unaligned
+4 | |     #[repr(packed, C)]
+5 | |     struct Packed {
+6 | |         #[pin]
+7 | |         field: u16,
+8 | |     }
+9 | | }
+  | |_^
+  |
+  = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+  = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+  = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+  = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:3:1
+  |
+3 | / pin_project! { //~ ERROR reference to packed field is unaligned
+4 | |     #[repr(packed, C)]
+5 | |     struct Packed {
+6 | |         #[pin]
+7 | |         field: u16,
+8 | |     }
+9 | | }
+  | |_^
+  |
+  = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+  = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+  = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+  = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+ --> tests/ui/pin_project/packed.rs:3:1
+  |
+3 | / pin_project! { //~ ERROR reference to packed field is unaligned
+4 | |     #[repr(packed, C)]
+5 | |     struct Packed {
+6 | |         #[pin]
+7 | |         field: u16,
+8 | |     }
+9 | | }
+  | |_^
+  |
+  = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+  = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+  = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+  = note: this error originates in the macro `$crate::__pin_project_constant` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+  --> tests/ui/pin_project/packed.rs:11:1
    |
-5  | / pin_project! { //~ ERROR reference to packed field is unaligned
-6  | |     #[repr(packed, C)]
-7  | |     struct Packed {
-8  | |         #[pin]
-9  | |         field: u16,
-10 | |     }
-11 | | }
+11 | / pin_project! { //~ ERROR reference to packed field is unaligned
+12 | |     #[repr(packed(2))]
+13 | |     struct PackedN {
+14 | |         #[pin]
+15 | |         field: u32,
+16 | |     }
+17 | | }
    | |_^
    |
-note: the lint level is defined here
-  --> tests/ui/pin_project/packed.rs:5:1
-   |
-5  | / pin_project! { //~ ERROR reference to packed field is unaligned
-6  | |     #[repr(packed, C)]
-7  | |     struct Packed {
-8  | |         #[pin]
-9  | |         field: u16,
-10 | |     }
-11 | | }
-   | |_^
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
-   = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
    = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-   = note: this error originates in the macro `$crate::__pin_project_constant` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
-error: reference to packed field is unaligned
-  --> tests/ui/pin_project/packed.rs:13:1
+error[E0793]: reference to packed field is unaligned
+  --> tests/ui/pin_project/packed.rs:11:1
    |
-13 | / pin_project! { //~ ERROR reference to packed field is unaligned
-14 | |     #[repr(packed(2))]
-15 | |     struct PackedN {
-16 | |         #[pin]
-17 | |         field: u32,
-18 | |     }
-19 | | }
+11 | / pin_project! { //~ ERROR reference to packed field is unaligned
+12 | |     #[repr(packed(2))]
+13 | |     struct PackedN {
+14 | |         #[pin]
+15 | |         field: u32,
+16 | |     }
+17 | | }
    | |_^
    |
-note: the lint level is defined here
-  --> tests/ui/pin_project/packed.rs:13:1
+   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
+   = note: this error originates in the macro `$crate::__pin_project_struct_make_proj_method` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0793]: reference to packed field is unaligned
+  --> tests/ui/pin_project/packed.rs:11:1
    |
-13 | / pin_project! { //~ ERROR reference to packed field is unaligned
-14 | |     #[repr(packed(2))]
-15 | |     struct PackedN {
-16 | |         #[pin]
-17 | |         field: u32,
-18 | |     }
-19 | | }
+11 | / pin_project! { //~ ERROR reference to packed field is unaligned
+12 | |     #[repr(packed(2))]
+13 | |     struct PackedN {
+14 | |         #[pin]
+15 | |         field: u32,
+16 | |     }
+17 | | }
    | |_^
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
-   = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
+   |
+   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
+   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
    = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
-   = note: this error originates in the macro `$crate::__pin_project_constant` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_constant` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr b/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr
index 4eb6eff96..aadd1f973 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/unpin_sneaky.stderr
@@ -3,9 +3,3 @@ error[E0412]: cannot find type `__Origin` in this scope
    |
 10 | impl Unpin for __Origin {} //~ ERROR E0412,E0321
    |                ^^^^^^^^ not found in this scope
-
-error[E0321]: cross-crate traits with a default impl, like `Unpin`, can only be implemented for a struct/enum type, not `[type error]`
-  --> tests/ui/pin_project/unpin_sneaky.rs:10:1
-   |
-10 | impl Unpin for __Origin {} //~ ERROR E0412,E0321
-   | ^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type
diff --git a/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr b/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr
index a7d215a43..f1d3b9c9d 100644
--- a/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr
+++ b/vendor/pin-project-lite/tests/ui/pin_project/unsupported.stderr
@@ -6,7 +6,12 @@ error: no rules expected the token `}`
 5 | | }
   | |_^ no rules expected this token in macro call
   |
-  = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match meta-variable `$field_vis:vis`
+ --> src/lib.rs
+  |
+  |                 $field_vis:vis $field:ident: $field_ty:ty
+  |                 ^^^^^^^^^^^^^^
+  = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: no rules expected the token `}`
  --> tests/ui/pin_project/unsupported.rs:3:1
@@ -16,43 +21,60 @@ error: no rules expected the token `}`
 5 | | }
   | |_^ no rules expected this token in macro call
   |
-  = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match meta-variable `$field_vis:vis`
+ --> src/lib.rs
+  |
+  |                 $field_vis:vis $field:ident: $field_ty:ty
+  |                 ^^^^^^^^^^^^^^
+  = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: no rules expected the token `(`
  --> tests/ui/pin_project/unsupported.rs:8:19
   |
 8 |     struct Struct2(); //~ ERROR no rules expected the token `(`
   |                   ^ no rules expected this token in macro call
+  |
+note: while trying to match `{`
+ --> src/lib.rs
+  |
+  |         {
+  |         ^
 
 error: no rules expected the token `;`
   --> tests/ui/pin_project/unsupported.rs:12:19
    |
 12 |     struct Struct3; //~ ERROR no rules expected the token `;`
    |                   ^ no rules expected this token in macro call
+   |
+note: while trying to match `{`
+  --> src/lib.rs
+   |
+   |         {
+   |         ^
 
-error: no rules expected the token `enum`
-  --> tests/ui/pin_project/unsupported.rs:15:1
+error: no rules expected the token `(`
+  --> tests/ui/pin_project/unsupported.rs:17:10
    |
-15 | / pin_project! {
-16 | |     enum Enum { //~ ERROR no rules expected the token `enum`
-17 | |         A(u8)
-18 | |     }
-19 | | }
-   | |_^ no rules expected this token in macro call
+17 |         A(u8)
+   |          ^ no rules expected this token in macro call
+   |
+note: while trying to match `}`
+  --> src/lib.rs
    |
-   = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+   |         }
+   |         ^
 
-error: no rules expected the token `enum`
-  --> tests/ui/pin_project/unsupported.rs:15:1
+error: no rules expected the token `(`
+  --> tests/ui/pin_project/unsupported.rs:17:10
    |
-15 | / pin_project! {
-16 | |     enum Enum { //~ ERROR no rules expected the token `enum`
-17 | |         A(u8)
-18 | |     }
-19 | | }
-   | |_^ no rules expected this token in macro call
+17 |         A(u8)
+   |          ^ no rules expected this token in macro call
    |
-   = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `}`
+  --> src/lib.rs
+   |
+   |         }
+   |         ^
 
 error: no rules expected the token `union`
   --> tests/ui/pin_project/unsupported.rs:21:1
@@ -64,7 +86,14 @@ error: no rules expected the token `union`
 25 | | }
    | |_^ no rules expected this token in macro call
    |
-   = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `struct`
+  --> src/lib.rs
+   |
+   |         [$(#[$attrs:meta])* $vis:vis struct $ident:ident]
+   |                                      ^^^^^^
+   = note: captured metavariables except for `:tt`, `:ident` and `:lifetime` cannot be compared to other tokens
+   = note: see <https://doc.rust-lang.org/nightly/reference/macros-by-example.html#forwarding-a-matched-fragment> for more information
+   = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
 
 error: no rules expected the token `union`
   --> tests/ui/pin_project/unsupported.rs:21:1
@@ -76,4 +105,11 @@ error: no rules expected the token `union`
 25 | | }
    | |_^ no rules expected this token in macro call
    |
-   = note: this error originates in the macro `$crate::__pin_project_expand` (in Nightly builds, run with -Z macro-backtrace for more info)
+note: while trying to match `struct`
+  --> src/lib.rs
+   |
+   |         [$(#[$attrs:meta])* $vis:vis struct $ident:ident]
+   |                                      ^^^^^^
+   = note: captured metavariables except for `:tt`, `:ident` and `:lifetime` cannot be compared to other tokens
+   = note: see <https://doc.rust-lang.org/nightly/reference/macros-by-example.html#forwarding-a-matched-fragment> for more information
+   = note: this error originates in the macro `$crate::__pin_project_expand` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr b/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr
index 597f67c84..a6226216c 100644
--- a/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr
+++ b/vendor/pin-project-lite/tests/ui/pinned_drop/call-drop-inner.stderr
@@ -2,7 +2,10 @@ error[E0061]: this function takes 0 arguments but 1 argument was supplied
   --> tests/ui/pinned_drop/call-drop-inner.rs:10:13
    |
 10 |             __drop_inner(this);
-   |             ^^^^^^^^^^^^ ---- argument unexpected
+   |             ^^^^^^^^^^^^ ----
+   |                          |
+   |                          unexpected argument of type `Pin<&mut S>`
+   |                          help: remove the extra argument
    |
 note: function defined here
   --> tests/ui/pinned_drop/call-drop-inner.rs:3:1
@@ -15,8 +18,4 @@ note: function defined here
 12 | |     }
 13 | | }
    | |_^
-   = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
-help: remove the extra argument
-   |
-10 |             __drop_inner();
-   |             ~~~~~~~~~~~~~~
+   = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
diff --git a/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr b/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr
index d70009c97..fe0ee79d8 100644
--- a/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr
+++ b/vendor/pin-project-lite/tests/ui/pinned_drop/conditional-drop-impl.stderr
@@ -7,10 +7,8 @@ error[E0367]: `Drop` impl requires `T: Unpin` but the struct it is implemented f
 note: the implementor must specify the same requirement
  --> tests/ui/pinned_drop/conditional-drop-impl.rs:5:1
   |
-5 | / struct DropImpl<T> {
-6 | |     f: T,
-7 | | }
-  | |_^
+5 | struct DropImpl<T> {
+  | ^^^^^^^^^^^^^^^^^^
 
 error[E0367]: `Drop` impl requires `T: Unpin` but the struct it is implemented for does not
   --> tests/ui/pinned_drop/conditional-drop-impl.rs:14:1
@@ -35,4 +33,4 @@ note: the implementor must specify the same requirement
 23 | |     }
 24 | | }
    | |_^
-   = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
+   = note: this error originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
-- 
cgit v1.2.3