diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:57:31 +0000 |
commit | dc0db358abe19481e475e10c32149b53370f1a1c (patch) | |
tree | ab8ce99c4b255ce46f99ef402c27916055b899ee /vendor/pin-project-lite/tests | |
parent | Releasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff) | |
download | rustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip |
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/pin-project-lite/tests')
34 files changed, 533 insertions, 400 deletions
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) |