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,32 @@
// SPDX-License-Identifier: Apache-2.0 OR MIT
use pin_project::pin_project;
#[pin_project(!Unpin)] //~ ERROR E0119
struct Foo<T, U> {
#[pin]
f1: T,
f2: U,
}
impl<T, U> Unpin for Foo<T, U> where T: Unpin {}
#[pin_project(!Unpin)] //~ ERROR E0119
struct Bar<T, U> {
#[pin]
f1: T,
f2: U,
}
impl<T, U> Unpin for Bar<T, U> {}
#[pin_project(!Unpin)] //~ ERROR E0119
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,26 @@
error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<_, _>`
--> tests/ui/not_unpin/conflict-unpin.rs:5:15
|
5 | #[pin_project(!Unpin)] //~ ERROR E0119
| ^^^^^^ conflicting implementation for `Foo<_, _>`
...
12 | impl<T, U> Unpin for Foo<T, U> where T: Unpin {}
| --------------------------------------------- first implementation here
error[E0119]: conflicting implementations of trait `Unpin` for type `Bar<_, _>`
--> tests/ui/not_unpin/conflict-unpin.rs:14:15
|
14 | #[pin_project(!Unpin)] //~ ERROR E0119
| ^^^^^^ conflicting implementation for `Bar<_, _>`
...
21 | impl<T, U> Unpin for Bar<T, U> {}
| ------------------------------ first implementation here
error[E0119]: conflicting implementations of trait `Unpin` for type `Baz<_, _>`
--> tests/ui/not_unpin/conflict-unpin.rs:23:15
|
23 | #[pin_project(!Unpin)] //~ ERROR E0119
| ^^^^^^ conflicting implementation for `Baz<_, _>`
...
30 | impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {}
| -------------------------------------------- first implementation here

View File

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

View File

@@ -0,0 +1,32 @@
error[E0119]: conflicting implementations of trait `UnsafeUnpin` for type `Foo<_, _>`
--> tests/ui/not_unpin/impl-unsafe-unpin.rs:5:1
|
5 | #[pin_project(!Unpin)] //~ ERROR E0119
| ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Foo<_, _>`
...
12 | unsafe impl<T, U> UnsafeUnpin for Foo<T, U> where T: Unpin {}
| ---------------------------------------------------------- first implementation here
|
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0119]: conflicting implementations of trait `UnsafeUnpin` for type `Bar<_, _>`
--> tests/ui/not_unpin/impl-unsafe-unpin.rs:14:1
|
14 | #[pin_project(!Unpin)] //~ ERROR E0119
| ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<_, _>`
...
21 | unsafe impl<T, U> UnsafeUnpin for Bar<T, U> {}
| ------------------------------------------- first implementation here
|
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0119]: conflicting implementations of trait `UnsafeUnpin` for type `Baz<_, _>`
--> tests/ui/not_unpin/impl-unsafe-unpin.rs:23:1
|
23 | #[pin_project(!Unpin)] //~ ERROR E0119
| ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Baz<_, _>`
...
30 | unsafe impl<T: Unpin, U: Unpin> UnsafeUnpin for Baz<T, U> {}
| --------------------------------------------------------- first implementation here
|
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)

View File

@@ -0,0 +1,20 @@
// SPDX-License-Identifier: Apache-2.0 OR MIT
// https://github.com/taiki-e/pin-project/issues/340#issuecomment-2428002670
#[pin_project::pin_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,8 @@
error[E0119]: conflicting implementations of trait `Unpin` for type `Foo<MyPhantomPinned, ()>`
--> tests/ui/not_unpin/negative_impls_stable.rs:5:28
|
5 | #[pin_project::pin_project(!Unpin)]
| ^^^^^^ conflicting implementation for `Foo<MyPhantomPinned, ()>`
...
14 | impl Unpin for Foo<MyPhantomPinned, ()> {}
| --------------------------------------- first implementation here