Vendor dependencies for 0.3.0 release

This commit is contained in:
2025-09-27 10:29:08 -05:00
parent 0c8d39d483
commit 82ab7f317b
26803 changed files with 16134934 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
// SPDX-License-Identifier: Apache-2.0 OR MIT
use pin_project_lite::pin_project;
pin_project! {
#[project(!Unpin)]
struct Foo<T, U> {
#[pin]
f1: T,
f2: U,
}
}
impl<T, U> Unpin for Foo<T, U> where T: Unpin {}
pin_project! {
#[project(!Unpin)]
struct Bar<T, U> {
#[pin]
f1: T,
f2: U,
}
}
impl<T, U> Unpin for Bar<T, U> {}
pin_project! {
#[project(!Unpin)]
struct Baz<T, U> {
#[pin]
f1: T,
f2: U,
}
}
impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {}
fn main() {}

View File

@@ -0,0 +1,50 @@
error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<_, _>`
--> tests/ui/not_unpin/conflict-unpin.rs:5:1
|
5 | / pin_project! {
6 | | #[project(!Unpin)]
7 | | struct Foo<T, U> {
8 | | #[pin]
... |
12 | | }
| |_^ conflicting implementation for `Foo<_, _>`
13 |
14 | impl<T, U> Unpin for Foo<T, U> where T: Unpin {}
| --------------------------------------------- first implementation here
|
= note: upstream crates may add a new impl of trait `std::marker::Unpin` for type `(std::marker::PhantomData<&()>, std::marker::PhantomPinned)` in future versions
= 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 `Unpin` for type `Bar<_, _>`
--> tests/ui/not_unpin/conflict-unpin.rs:16:1
|
16 | / pin_project! {
17 | | #[project(!Unpin)]
18 | | struct Bar<T, U> {
19 | | #[pin]
... |
23 | | }
| |_^ conflicting implementation for `Bar<_, _>`
24 |
25 | impl<T, U> Unpin for Bar<T, U> {}
| ------------------------------ first implementation here
|
= note: upstream crates may add a new impl of trait `std::marker::Unpin` for type `(std::marker::PhantomData<&()>, std::marker::PhantomPinned)` in future versions
= 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 `Unpin` for type `Baz<_, _>`
--> tests/ui/not_unpin/conflict-unpin.rs:27:1
|
27 | / pin_project! {
28 | | #[project(!Unpin)]
29 | | struct Baz<T, U> {
30 | | #[pin]
... |
34 | | }
| |_^ conflicting implementation for `Baz<_, _>`
35 |
36 | impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {}
| -------------------------------------------- first implementation here
|
= note: upstream crates may add a new impl of trait `std::marker::Unpin` for type `(std::marker::PhantomData<&()>, std::marker::PhantomPinned)` in future versions
= 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)

View File

@@ -0,0 +1,22 @@
// SPDX-License-Identifier: Apache-2.0 OR MIT
// https://github.com/taiki-e/pin-project/issues/340#issuecomment-2428002670
pin_project_lite::pin_project! {
#[project(!Unpin)]
struct Foo<Pinned, Unpinned> {
#[pin]
pinned: Pinned,
unpinned: Unpinned,
}
}
struct MyPhantomPinned(::core::marker::PhantomPinned);
impl Unpin for MyPhantomPinned where for<'cursed> str: Sized {}
impl Unpin for Foo<MyPhantomPinned, ()> {}
fn is_unpin<T: Unpin>() {}
fn main() {
is_unpin::<Foo<MyPhantomPinned, ()>>()
}

View File

@@ -0,0 +1,16 @@
error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<MyPhantomPinned, ()>`
--> tests/ui/not_unpin/negative_impls_stable.rs:5:1
|
5 | / pin_project_lite::pin_project! {
6 | | #[project(!Unpin)]
7 | | struct Foo<Pinned, Unpinned> {
8 | | #[pin]
... |
12 | | }
| |_^ conflicting implementation for `Foo<MyPhantomPinned, ()>`
...
16 | impl Unpin for Foo<MyPhantomPinned, ()> {}
| --------------------------------------- first implementation here
|
= note: upstream crates may add a new impl of trait `std::marker::Unpin` for type `(std::marker::PhantomData<&()>, std::marker::PhantomPinned)` in future versions
= note: this error originates in the macro `$crate::__pin_project_make_unpin_impl` which comes from the expansion of the macro `pin_project_lite::pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)