更新libclamav库1.0.0版本
This commit is contained in:
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-resolve.rs
vendored
Normal file
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-resolve.rs
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
#[cfg_attr(any(), pin_project::pin_project)]
|
||||
struct Foo<T> {
|
||||
f: T,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut x = Foo { f: 0_u8 };
|
||||
let _ = Pin::new(&mut x).project(); //~ ERROR E0599
|
||||
}
|
||||
5
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-resolve.stderr
vendored
Normal file
5
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-resolve.stderr
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
error[E0599]: no method named `project` found for struct `Pin<&mut Foo<u8>>` in the current scope
|
||||
--> tests/ui/cfg/cfg_attr-resolve.rs:10:30
|
||||
|
|
||||
10 | let _ = Pin::new(&mut x).project(); //~ ERROR E0599
|
||||
| ^^^^^^^ method not found in `Pin<&mut Foo<u8>>`
|
||||
25
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-type-mismatch.rs
vendored
Normal file
25
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-type-mismatch.rs
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[cfg_attr(not(any()), pin_project)]
|
||||
struct Foo<T> {
|
||||
#[cfg_attr(any(), pin)]
|
||||
f: T,
|
||||
}
|
||||
|
||||
#[cfg_attr(not(any()), pin_project)]
|
||||
struct Bar<T> {
|
||||
#[cfg_attr(not(any()), pin)]
|
||||
f: T,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut x = Foo { f: 0_u8 };
|
||||
let x = Pin::new(&mut x).project();
|
||||
let _: Pin<&mut u8> = x.f; //~ ERROR E0308
|
||||
|
||||
let mut x = Bar { f: 0_u8 };
|
||||
let x = Pin::new(&mut x).project();
|
||||
let _: &mut u8 = x.f; //~ ERROR E0308
|
||||
}
|
||||
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-type-mismatch.stderr
vendored
Normal file
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/cfg_attr-type-mismatch.stderr
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
error[E0308]: mismatched types
|
||||
--> tests/ui/cfg/cfg_attr-type-mismatch.rs:20:27
|
||||
|
|
||||
20 | let _: Pin<&mut u8> = x.f; //~ ERROR E0308
|
||||
| ------------ ^^^ expected struct `Pin`, found `&mut u8`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Pin<&mut u8>`
|
||||
found mutable reference `&mut u8`
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> tests/ui/cfg/cfg_attr-type-mismatch.rs:24:22
|
||||
|
|
||||
24 | let _: &mut u8 = x.f; //~ ERROR E0308
|
||||
| ------- ^^^
|
||||
| | |
|
||||
| | expected `&mut u8`, found struct `Pin`
|
||||
| | help: consider mutably borrowing here: `&mut x.f`
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected mutable reference `&mut u8`
|
||||
found struct `Pin<&mut u8>`
|
||||
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky-span-issue-1.rs
vendored
Normal file
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky-span-issue-1.rs
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
use auxiliary_macro::hidden_repr;
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
#[hidden_repr(packed)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
struct S {
|
||||
#[cfg(not(any()))]
|
||||
#[pin]
|
||||
f: u32,
|
||||
#[cfg(any())]
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/cfg/packed_sneaky-span-issue-1.rs:5:15
|
||||
|
|
||||
5 | #[hidden_repr(packed)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
| ^^^^^^
|
||||
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky-span-issue-2.rs
vendored
Normal file
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky-span-issue-2.rs
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
use auxiliary_macro::hidden_repr;
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
#[hidden_repr(packed)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
struct S {
|
||||
#[cfg(any())]
|
||||
#[pin]
|
||||
f: u32,
|
||||
#[cfg(not(any()))]
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/cfg/packed_sneaky-span-issue-2.rs:5:15
|
||||
|
|
||||
5 | #[hidden_repr(packed)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
| ^^^^^^
|
||||
12
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky.rs
vendored
Normal file
12
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky.rs
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
use auxiliary_macro::hidden_repr_cfg_not_any;
|
||||
use pin_project::pin_project;
|
||||
|
||||
// `#[hidden_repr_cfg_not_any(packed)]` generates `#[cfg_attr(not(any()), repr(packed))]`.
|
||||
#[pin_project]
|
||||
#[hidden_repr_cfg_not_any(packed)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
struct S {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
5
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky.stderr
vendored
Normal file
5
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/packed_sneaky.stderr
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/cfg/packed_sneaky.rs:6:27
|
||||
|
|
||||
6 | #[hidden_repr_cfg_not_any(packed)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
| ^^^^^^
|
||||
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/unsupported.rs
vendored
Normal file
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/unsupported.rs
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
struct S {
|
||||
//~^ ERROR may not be used on structs with zero fields
|
||||
#[cfg(any())]
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/unsupported.stderr
vendored
Normal file
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/cfg/unsupported.stderr
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
error: #[pin_project] attribute may not be used on structs with zero fields
|
||||
--> tests/ui/cfg/unsupported.rs:4:10
|
||||
|
|
||||
4 | struct S {
|
||||
| __________^
|
||||
5 | | //~^ ERROR may not be used on structs with zero fields
|
||||
6 | | #[cfg(any())]
|
||||
7 | | #[pin]
|
||||
8 | | f: u8,
|
||||
9 | | }
|
||||
| |_^
|
||||
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/conflict-unpin.rs
vendored
Normal file
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/conflict-unpin.rs
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
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() {}
|
||||
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/conflict-unpin.stderr
vendored
Normal file
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/conflict-unpin.stderr
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Foo<_, _>`
|
||||
--> tests/ui/not_unpin/conflict-unpin.rs:3:15
|
||||
|
|
||||
3 | #[pin_project(!Unpin)] //~ ERROR E0119
|
||||
| ^^^^^^ conflicting implementation for `Foo<_, _>`
|
||||
...
|
||||
10 | impl<T, U> Unpin for Foo<T, U> where T: Unpin {}
|
||||
| ------------------------------ first implementation here
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Bar<_, _>`
|
||||
--> tests/ui/not_unpin/conflict-unpin.rs:12:15
|
||||
|
|
||||
12 | #[pin_project(!Unpin)] //~ ERROR E0119
|
||||
| ^^^^^^ conflicting implementation for `Bar<_, _>`
|
||||
...
|
||||
19 | impl<T, U> Unpin for Bar<T, U> {}
|
||||
| ------------------------------ first implementation here
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Baz<_, _>`
|
||||
--> tests/ui/not_unpin/conflict-unpin.rs:21:15
|
||||
|
|
||||
21 | #[pin_project(!Unpin)] //~ ERROR E0119
|
||||
| ^^^^^^ conflicting implementation for `Baz<_, _>`
|
||||
...
|
||||
28 | impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {}
|
||||
| -------------------------------------------- first implementation here
|
||||
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/impl-unsafe-unpin.rs
vendored
Normal file
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/impl-unsafe-unpin.rs
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
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() {}
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/impl-unsafe-unpin.stderr
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/not_unpin/impl-unsafe-unpin.stderr
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
error[E0119]: conflicting implementations of trait `_::_pin_project::UnsafeUnpin` for type `Foo<_, _>`
|
||||
--> tests/ui/not_unpin/impl-unsafe-unpin.rs:3:1
|
||||
|
|
||||
3 | #[pin_project(!Unpin)] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Foo<_, _>`
|
||||
...
|
||||
10 | 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 `_::_pin_project::UnsafeUnpin` for type `Bar<_, _>`
|
||||
--> tests/ui/not_unpin/impl-unsafe-unpin.rs:12:1
|
||||
|
|
||||
12 | #[pin_project(!Unpin)] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Bar<_, _>`
|
||||
...
|
||||
19 | 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 `_::_pin_project::UnsafeUnpin` for type `Baz<_, _>`
|
||||
--> tests/ui/not_unpin/impl-unsafe-unpin.rs:21:1
|
||||
|
|
||||
21 | #[pin_project(!Unpin)] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Baz<_, _>`
|
||||
...
|
||||
28 | 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)
|
||||
20
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-attr-to-struct.rs
vendored
Normal file
20
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-attr-to-struct.rs
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
use std::marker::PhantomPinned;
|
||||
|
||||
use auxiliary_macro::add_pin_attr;
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
#[add_pin_attr(struct)] //~ ERROR duplicate #[pin] attribute
|
||||
struct Foo {
|
||||
#[pin]
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
#[add_pin_attr(struct)] //~ ERROR #[pin] attribute may only be used on fields of structs or variants
|
||||
#[pin_project]
|
||||
struct Bar {
|
||||
#[pin]
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-attr-to-struct.stderr
vendored
Normal file
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-attr-to-struct.stderr
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
error: duplicate #[pin] attribute
|
||||
--> tests/ui/pin_project/add-attr-to-struct.rs:7:1
|
||||
|
|
||||
7 | #[add_pin_attr(struct)] //~ ERROR duplicate #[pin] attribute
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the attribute macro `add_pin_attr` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: #[pin] attribute may only be used on fields of structs or variants
|
||||
--> tests/ui/pin_project/add-attr-to-struct.rs:13:1
|
||||
|
|
||||
13 | #[add_pin_attr(struct)] //~ ERROR #[pin] attribute may only be used on fields of structs or variants
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the attribute macro `add_pin_attr` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-pinned-field.rs
vendored
Normal file
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-pinned-field.rs
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
use auxiliary_macro::add_pinned_field;
|
||||
use pin_project::pin_project;
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
#[pin_project]
|
||||
#[add_pinned_field]
|
||||
struct Foo {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
#[add_pinned_field]
|
||||
#[pin_project]
|
||||
struct Bar {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<Foo>(); //~ ERROR E0277
|
||||
is_unpin::<Bar>(); //~ ERROR E0277
|
||||
}
|
||||
52
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-pinned-field.stderr
vendored
Normal file
52
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/add-pinned-field.stderr
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:21:5
|
||||
|
|
||||
21 | is_unpin::<Foo>(); //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^ within `__Foo<'_>`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `__Foo<'_>`
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:8:8
|
||||
|
|
||||
8 | struct Foo {
|
||||
| ^^^
|
||||
note: required because of the requirements on the impl of `Unpin` for `Foo`
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:6:1
|
||||
|
|
||||
6 | #[pin_project]
|
||||
| ^^^^^^^^^^^^^^
|
||||
7 | #[add_pinned_field]
|
||||
8 | struct Foo {
|
||||
| ^^^
|
||||
note: required by a bound in `is_unpin`
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:4:16
|
||||
|
|
||||
4 | fn is_unpin<T: Unpin>() {}
|
||||
| ^^^^^ required by this bound in `is_unpin`
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:22:5
|
||||
|
|
||||
22 | is_unpin::<Bar>(); //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^ within `__Bar<'_>`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `__Bar<'_>`
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:15:8
|
||||
|
|
||||
15 | struct Bar {
|
||||
| ^^^
|
||||
note: required because of the requirements on the impl of `Unpin` for `Bar`
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:14:1
|
||||
|
|
||||
14 | #[pin_project]
|
||||
| ^^^^^^^^^^^^^^
|
||||
15 | struct Bar {
|
||||
| ^^^
|
||||
note: required by a bound in `is_unpin`
|
||||
--> tests/ui/pin_project/add-pinned-field.rs:4:16
|
||||
|
|
||||
4 | fn is_unpin<T: Unpin>() {}
|
||||
| ^^^^^ required by this bound in `is_unpin`
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-drop.rs
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-drop.rs
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Foo<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
impl<T, U> Drop for Foo<T, U> {
|
||||
fn drop(&mut self) {}
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)] //~ ERROR E0119
|
||||
struct Bar<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl<T, U> PinnedDrop for Bar<T, U> {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
impl<T, U> Drop for Bar<T, U> {
|
||||
fn drop(&mut self) {}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
19
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-drop.stderr
vendored
Normal file
19
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-drop.stderr
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
error[E0119]: conflicting implementations of trait `_::FooMustNotImplDrop` for type `Foo<_, _>`
|
||||
--> tests/ui/pin_project/conflict-drop.rs:5:1
|
||||
|
|
||||
5 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^
|
||||
| |
|
||||
| first implementation here
|
||||
| conflicting implementation for `Foo<_, _>`
|
||||
|
|
||||
= 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 `std::ops::Drop` for type `Bar<_, _>`
|
||||
--> tests/ui/pin_project/conflict-drop.rs:16:15
|
||||
|
|
||||
16 | #[pin_project(PinnedDrop)] //~ ERROR E0119
|
||||
| ^^^^^^^^^^ conflicting implementation for `Bar<_, _>`
|
||||
...
|
||||
28 | impl<T, U> Drop for Bar<T, U> {
|
||||
| ----------------------------- first implementation here
|
||||
37
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-unpin.rs
vendored
Normal file
37
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-unpin.rs
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
// The same implementation.
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Foo<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
// conflicting implementations
|
||||
impl<T, U> Unpin for Foo<T, U> where T: Unpin {} // Conditional Unpin impl
|
||||
|
||||
// The implementation that under different conditions.
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Bar<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
// conflicting implementations
|
||||
impl<T, U> Unpin for Bar<T, U> {} // Non-conditional Unpin impl
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Baz<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
// conflicting implementations
|
||||
impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {} // Conditional Unpin impl
|
||||
|
||||
fn main() {}
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-unpin.stderr
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/conflict-unpin.stderr
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Foo<_, _>`
|
||||
--> tests/ui/pin_project/conflict-unpin.rs:5:1
|
||||
|
|
||||
5 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Foo<_, _>`
|
||||
...
|
||||
13 | impl<T, U> Unpin for Foo<T, U> where T: Unpin {} // Conditional Unpin impl
|
||||
| ------------------------------ 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 `std::marker::Unpin` for type `Bar<_, _>`
|
||||
--> tests/ui/pin_project/conflict-unpin.rs:17:1
|
||||
|
|
||||
17 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Bar<_, _>`
|
||||
...
|
||||
25 | impl<T, U> Unpin for Bar<T, U> {} // Non-conditional Unpin impl
|
||||
| ------------------------------ 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 `std::marker::Unpin` for type `Baz<_, _>`
|
||||
--> tests/ui/pin_project/conflict-unpin.rs:27:1
|
||||
|
|
||||
27 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Baz<_, _>`
|
||||
...
|
||||
35 | impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {} // Conditional Unpin impl
|
||||
| -------------------------------------------- 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)
|
||||
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/impl-unsafe-unpin.rs
vendored
Normal file
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/impl-unsafe-unpin.rs
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
use pin_project::{pin_project, UnsafeUnpin};
|
||||
|
||||
#[pin_project] //~ 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] //~ ERROR E0119
|
||||
struct Bar<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
unsafe impl<T, U> UnsafeUnpin for Bar<T, U> {}
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Baz<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
unsafe impl<T: Unpin, U: Unpin> UnsafeUnpin for Baz<T, U> {}
|
||||
|
||||
fn main() {}
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/impl-unsafe-unpin.stderr
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/impl-unsafe-unpin.stderr
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
error[E0119]: conflicting implementations of trait `_::_pin_project::UnsafeUnpin` for type `Foo<_, _>`
|
||||
--> tests/ui/pin_project/impl-unsafe-unpin.rs:3:1
|
||||
|
|
||||
3 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Foo<_, _>`
|
||||
...
|
||||
10 | 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 `_::_pin_project::UnsafeUnpin` for type `Bar<_, _>`
|
||||
--> tests/ui/pin_project/impl-unsafe-unpin.rs:12:1
|
||||
|
|
||||
12 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Bar<_, _>`
|
||||
...
|
||||
19 | 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 `_::_pin_project::UnsafeUnpin` for type `Baz<_, _>`
|
||||
--> tests/ui/pin_project/impl-unsafe-unpin.rs:21:1
|
||||
|
|
||||
21 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Baz<_, _>`
|
||||
...
|
||||
28 | 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)
|
||||
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/import_unnamed.rs
vendored
Normal file
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/import_unnamed.rs
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
/// Only named projected types can be imported.
|
||||
/// See visibility.rs for named projected types.
|
||||
|
||||
mod pub_ {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
pub struct Default(());
|
||||
|
||||
#[pin_project(project_replace)]
|
||||
pub struct Replace(());
|
||||
}
|
||||
#[allow(unused_imports)]
|
||||
pub mod use_ {
|
||||
#[rustfmt::skip]
|
||||
use crate::pub_::__DefaultProjection; //~ ERROR E0432
|
||||
#[rustfmt::skip]
|
||||
use crate::pub_::__DefaultProjectionRef; //~ ERROR E0432
|
||||
#[rustfmt::skip]
|
||||
use crate::pub_::__ReplaceProjection; //~ ERROR E0432
|
||||
#[rustfmt::skip]
|
||||
use crate::pub_::__ReplaceProjectionOwned; //~ ERROR E0432
|
||||
#[rustfmt::skip]
|
||||
use crate::pub_::__ReplaceProjectionRef; //~ ERROR E0432
|
||||
|
||||
// Confirm that the visibility of the original type is not changed.
|
||||
pub use crate::pub_::{Default, Replace};
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
29
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/import_unnamed.stderr
vendored
Normal file
29
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/import_unnamed.stderr
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
error[E0432]: unresolved import `crate::pub_::__DefaultProjection`
|
||||
--> tests/ui/pin_project/import_unnamed.rs:16:9
|
||||
|
|
||||
16 | use crate::pub_::__DefaultProjection; //~ ERROR E0432
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `__DefaultProjection` in `pub_`
|
||||
|
||||
error[E0432]: unresolved import `crate::pub_::__DefaultProjectionRef`
|
||||
--> tests/ui/pin_project/import_unnamed.rs:18:9
|
||||
|
|
||||
18 | use crate::pub_::__DefaultProjectionRef; //~ ERROR E0432
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `__DefaultProjectionRef` in `pub_`
|
||||
|
||||
error[E0432]: unresolved import `crate::pub_::__ReplaceProjection`
|
||||
--> tests/ui/pin_project/import_unnamed.rs:20:9
|
||||
|
|
||||
20 | use crate::pub_::__ReplaceProjection; //~ ERROR E0432
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `__ReplaceProjection` in `pub_`
|
||||
|
||||
error[E0432]: unresolved import `crate::pub_::__ReplaceProjectionOwned`
|
||||
--> tests/ui/pin_project/import_unnamed.rs:22:9
|
||||
|
|
||||
22 | use crate::pub_::__ReplaceProjectionOwned; //~ ERROR E0432
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `__ReplaceProjectionOwned` in `pub_`
|
||||
|
||||
error[E0432]: unresolved import `crate::pub_::__ReplaceProjectionRef`
|
||||
--> tests/ui/pin_project/import_unnamed.rs:24:9
|
||||
|
|
||||
24 | use crate::pub_::__ReplaceProjectionRef; //~ ERROR E0432
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `__ReplaceProjectionRef` in `pub_`
|
||||
280
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/invalid.rs
vendored
Normal file
280
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/invalid.rs
vendored
Normal file
@@ -0,0 +1,280 @@
|
||||
mod pin_argument {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
struct Struct {
|
||||
#[pin()] //~ ERROR unexpected token
|
||||
f: (),
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
struct TupleStruct(#[pin(foo)] ()); //~ ERROR unexpected token
|
||||
|
||||
#[pin_project]
|
||||
enum EnumTuple {
|
||||
V(#[pin(foo)] ()), //~ ERROR unexpected token
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
enum EnumStruct {
|
||||
V {
|
||||
#[pin(foo)] //~ ERROR unexpected token
|
||||
f: (),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
mod pin_attribute {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
struct DuplicateStruct {
|
||||
#[pin]
|
||||
#[pin] //~ ERROR duplicate #[pin] attribute
|
||||
f: (),
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
struct DuplicateTupleStruct(
|
||||
#[pin]
|
||||
#[pin]
|
||||
(),
|
||||
//~^^ ERROR duplicate #[pin] attribute
|
||||
);
|
||||
|
||||
#[pin_project]
|
||||
enum DuplicateEnumTuple {
|
||||
V(
|
||||
#[pin]
|
||||
#[pin]
|
||||
(),
|
||||
//~^^ ERROR duplicate #[pin] attribute
|
||||
),
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
enum DuplicateEnumStruct {
|
||||
V {
|
||||
#[pin]
|
||||
#[pin] //~ ERROR duplicate #[pin] attribute
|
||||
f: (),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
mod pin_item {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
#[pin] //~ ERROR may only be used on fields of structs or variants
|
||||
struct Struct {
|
||||
#[pin]
|
||||
f: (),
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
enum Variant {
|
||||
#[pin] //~ ERROR may only be used on fields of structs or variants
|
||||
V(()),
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
#[pin] //~ ERROR may only be used on fields of structs or variants
|
||||
enum Enum {
|
||||
V(()),
|
||||
}
|
||||
}
|
||||
|
||||
mod pin_project_argument {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(Replace)] //~ ERROR `Replace` argument was removed, use `project_replace` argument instead
|
||||
struct RemovedReplace(#[pin] ());
|
||||
|
||||
#[pin_project(UnsafeUnpin,,)] //~ ERROR expected identifier
|
||||
struct Unexpected1(#[pin] ());
|
||||
|
||||
#[pin_project(Foo)] //~ ERROR unexpected argument
|
||||
struct Unexpected2(#[pin] ());
|
||||
|
||||
#[pin_project(,UnsafeUnpin)] //~ ERROR expected identifier
|
||||
struct Unexpected3(#[pin] ());
|
||||
|
||||
#[pin_project()] // Ok
|
||||
struct Unexpected4(#[pin] ());
|
||||
|
||||
#[pin_project(PinnedDrop PinnedDrop)] //~ ERROR expected `,`
|
||||
struct Unexpected5(#[pin] ());
|
||||
|
||||
#[pin_project(PinnedDrop, PinnedDrop)] //~ ERROR duplicate `PinnedDrop` argument
|
||||
struct DuplicatePinnedDrop(#[pin] ());
|
||||
|
||||
#[pin_project(UnsafeUnpin, UnsafeUnpin)] //~ ERROR duplicate `UnsafeUnpin` argument
|
||||
struct DuplicateUnsafeUnpin(#[pin] ());
|
||||
|
||||
#[pin_project(!Unpin, !Unpin)] //~ ERROR duplicate `!Unpin` argument
|
||||
struct DuplicateNotUnpin(#[pin] ());
|
||||
|
||||
#[pin_project(PinnedDrop, UnsafeUnpin, UnsafeUnpin)] //~ ERROR duplicate `UnsafeUnpin` argument
|
||||
struct Duplicate3(#[pin] ());
|
||||
|
||||
#[pin_project(PinnedDrop, UnsafeUnpin, PinnedDrop, UnsafeUnpin)] //~ ERROR duplicate `PinnedDrop` argument
|
||||
struct Duplicate4(#[pin] ());
|
||||
|
||||
#[pin_project(project = A, project = B)] //~ ERROR duplicate `project` argument
|
||||
struct DuplicateProject(#[pin] ());
|
||||
|
||||
#[pin_project(project = A, project_ref = A, project = B)] //~ ERROR duplicate `project` argument
|
||||
struct DuplicateProject2(#[pin] ());
|
||||
|
||||
#[pin_project(project_ref = A, project_ref = B)] //~ ERROR duplicate `project_ref` argument
|
||||
struct DuplicateProjectRef(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace = A, project_replace = B)] //~ ERROR duplicate `project_replace` argument
|
||||
struct DuplicateProjectReplace1(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace, project_replace = B)] //~ ERROR duplicate `project_replace` argument
|
||||
struct DuplicateProjectReplace2(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace = A, project_replace)] //~ ERROR duplicate `project_replace` argument
|
||||
struct DuplicateProjectReplace3(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace = A)] // Ok
|
||||
struct ProjectReplaceWithoutReplace(#[pin] ());
|
||||
|
||||
#[pin_project(PinnedDrop, project_replace)] //~ ERROR arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
||||
struct PinnedDropWithProjectReplace1(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace, UnsafeUnpin, PinnedDrop)] //~ ERROR arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
||||
struct PinnedDropWithProjectReplace2(#[pin] ());
|
||||
|
||||
#[pin_project(UnsafeUnpin, !Unpin)] //~ ERROR arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
||||
struct UnsafeUnpinWithNotUnpin1(#[pin] ());
|
||||
|
||||
#[pin_project(!Unpin, PinnedDrop, UnsafeUnpin)] //~ ERROR arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
||||
struct UnsafeUnpinWithNotUnpin2(#[pin] ());
|
||||
|
||||
#[pin_project(!)] //~ ERROR expected `!Unpin`, found `!`
|
||||
struct NotUnpin1(#[pin] ());
|
||||
|
||||
#[pin_project(Unpin)] //~ ERROR unexpected argument
|
||||
struct NotUnpin2(#[pin] ());
|
||||
|
||||
#[pin_project(project)] //~ ERROR expected `project = <identifier>`, found `project`
|
||||
struct Project1(#[pin] ());
|
||||
|
||||
#[pin_project(project = )] //~ ERROR expected `project = <identifier>`, found `project =`
|
||||
struct Project2(#[pin] ());
|
||||
|
||||
#[pin_project(project = !)] //~ ERROR expected identifier
|
||||
struct Project3(#[pin] ());
|
||||
|
||||
#[pin_project(project_ref)] //~ ERROR expected `project_ref = <identifier>`, found `project_ref`
|
||||
struct ProjectRef1(#[pin] ());
|
||||
|
||||
#[pin_project(project_ref = )] //~ ERROR expected `project_ref = <identifier>`, found `project_ref =`
|
||||
struct ProjectRef2(#[pin] ());
|
||||
|
||||
#[pin_project(project_ref = !)] //~ ERROR expected identifier
|
||||
struct ProjectRef3(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace)] // Ok
|
||||
struct ProjectReplace1(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace = )] //~ ERROR expected `project_replace = <identifier>`, found `project_replace =`
|
||||
struct ProjectReplace2(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace = !)] //~ ERROR expected identifier
|
||||
struct ProjectReplace3(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace)] //~ ERROR `project_replace` argument requires a value when used on enums
|
||||
enum ProjectReplaceEnum {
|
||||
V(#[pin] ()),
|
||||
}
|
||||
}
|
||||
|
||||
mod pin_project_conflict_naming {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(project = OrigAndProj)] //~ ERROR name `OrigAndProj` is the same as the original type name
|
||||
struct OrigAndProj(#[pin] ());
|
||||
|
||||
#[pin_project(project_ref = OrigAndProjRef)] //~ ERROR name `OrigAndProjRef` is the same as the original type name
|
||||
struct OrigAndProjRef(#[pin] ());
|
||||
|
||||
#[pin_project(project_replace = OrigAndProjOwn)] //~ ERROR name `OrigAndProjOwn` is the same as the original type name
|
||||
struct OrigAndProjOwn(#[pin] ());
|
||||
|
||||
#[pin_project(project = A, project_ref = A)] //~ ERROR name `A` is already specified by `project` argument
|
||||
struct ProjAndProjRef(#[pin] ());
|
||||
|
||||
#[pin_project(project = A, project_replace = A)] //~ ERROR name `A` is already specified by `project` argument
|
||||
struct ProjAndProjOwn(#[pin] ());
|
||||
|
||||
#[pin_project(project_ref = A, project_replace = A)] //~ ERROR name `A` is already specified by `project_ref` argument
|
||||
struct ProjRefAndProjOwn(#[pin] ());
|
||||
}
|
||||
|
||||
mod pin_project_attribute {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
#[pin_project] //~ ERROR duplicate #[pin_project] attribute
|
||||
struct Duplicate(#[pin] ());
|
||||
}
|
||||
|
||||
mod pin_project_item {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
struct Struct {} //~ ERROR may not be used on structs with zero fields
|
||||
|
||||
#[pin_project]
|
||||
struct TupleStruct(); //~ ERROR may not be used on structs with zero fields
|
||||
|
||||
#[pin_project]
|
||||
struct UnitStruct; //~ ERROR may not be used on structs with zero fields
|
||||
|
||||
#[pin_project]
|
||||
enum EnumEmpty {} //~ ERROR may not be used on enums without variants
|
||||
|
||||
#[pin_project]
|
||||
enum EnumDiscriminant {
|
||||
V = 2, //~ ERROR may not be used on enums with discriminants
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
enum EnumZeroFields {
|
||||
Unit, //~ ERROR may not be used on enums with zero fields
|
||||
Tuple(),
|
||||
Struct {},
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
union Union {
|
||||
//~^ ERROR may only be used on structs or enums
|
||||
f: (),
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
impl Impl {} //~ ERROR may only be used on structs or enums
|
||||
}
|
||||
|
||||
// #[repr(packed)] is always detected first, even on unsupported structs.
|
||||
mod pin_project_item_packed {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
#[repr(packed)]
|
||||
struct Struct {} //~ ERROR may not be used on #[repr(packed)] types
|
||||
|
||||
#[pin_project]
|
||||
#[repr(packed)]
|
||||
struct TupleStruct(); //~ ERROR may not be used on #[repr(packed)] types
|
||||
|
||||
#[pin_project]
|
||||
#[repr(packed)]
|
||||
struct UnitStruct; //~ ERROR may not be used on #[repr(packed)] types
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
364
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/invalid.stderr
vendored
Normal file
364
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/invalid.stderr
vendored
Normal file
@@ -0,0 +1,364 @@
|
||||
error: unexpected token: `()`
|
||||
--> tests/ui/pin_project/invalid.rs:6:14
|
||||
|
|
||||
6 | #[pin()] //~ ERROR unexpected token
|
||||
| ^^
|
||||
|
||||
error: unexpected token: `(foo)`
|
||||
--> tests/ui/pin_project/invalid.rs:11:29
|
||||
|
|
||||
11 | struct TupleStruct(#[pin(foo)] ()); //~ ERROR unexpected token
|
||||
| ^^^^^
|
||||
|
||||
error: unexpected token: `(foo)`
|
||||
--> tests/ui/pin_project/invalid.rs:15:16
|
||||
|
|
||||
15 | V(#[pin(foo)] ()), //~ ERROR unexpected token
|
||||
| ^^^^^
|
||||
|
||||
error: unexpected token: `(foo)`
|
||||
--> tests/ui/pin_project/invalid.rs:21:18
|
||||
|
|
||||
21 | #[pin(foo)] //~ ERROR unexpected token
|
||||
| ^^^^^
|
||||
|
||||
error: duplicate #[pin] attribute
|
||||
--> tests/ui/pin_project/invalid.rs:33:9
|
||||
|
|
||||
33 | #[pin] //~ ERROR duplicate #[pin] attribute
|
||||
| ^^^^^^
|
||||
|
||||
error: duplicate #[pin] attribute
|
||||
--> tests/ui/pin_project/invalid.rs:40:9
|
||||
|
|
||||
40 | #[pin]
|
||||
| ^^^^^^
|
||||
|
||||
error: duplicate #[pin] attribute
|
||||
--> tests/ui/pin_project/invalid.rs:49:13
|
||||
|
|
||||
49 | #[pin]
|
||||
| ^^^^^^
|
||||
|
||||
error: duplicate #[pin] attribute
|
||||
--> tests/ui/pin_project/invalid.rs:59:13
|
||||
|
|
||||
59 | #[pin] //~ ERROR duplicate #[pin] attribute
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin] attribute may only be used on fields of structs or variants
|
||||
--> tests/ui/pin_project/invalid.rs:69:5
|
||||
|
|
||||
69 | #[pin] //~ ERROR may only be used on fields of structs or variants
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin] attribute may only be used on fields of structs or variants
|
||||
--> tests/ui/pin_project/invalid.rs:77:9
|
||||
|
|
||||
77 | #[pin] //~ ERROR may only be used on fields of structs or variants
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin] attribute may only be used on fields of structs or variants
|
||||
--> tests/ui/pin_project/invalid.rs:82:5
|
||||
|
|
||||
82 | #[pin] //~ ERROR may only be used on fields of structs or variants
|
||||
| ^^^^^^
|
||||
|
||||
error: `Replace` argument was removed, use `project_replace` argument instead
|
||||
--> tests/ui/pin_project/invalid.rs:91:19
|
||||
|
|
||||
91 | #[pin_project(Replace)] //~ ERROR `Replace` argument was removed, use `project_replace` argument instead
|
||||
| ^^^^^^^
|
||||
|
||||
error: expected identifier
|
||||
--> tests/ui/pin_project/invalid.rs:94:31
|
||||
|
|
||||
94 | #[pin_project(UnsafeUnpin,,)] //~ ERROR expected identifier
|
||||
| ^
|
||||
|
||||
error: unexpected argument: Foo
|
||||
--> tests/ui/pin_project/invalid.rs:97:19
|
||||
|
|
||||
97 | #[pin_project(Foo)] //~ ERROR unexpected argument
|
||||
| ^^^
|
||||
|
||||
error: expected identifier
|
||||
--> tests/ui/pin_project/invalid.rs:100:19
|
||||
|
|
||||
100 | #[pin_project(,UnsafeUnpin)] //~ ERROR expected identifier
|
||||
| ^
|
||||
|
||||
error: expected `,`
|
||||
--> tests/ui/pin_project/invalid.rs:106:30
|
||||
|
|
||||
106 | #[pin_project(PinnedDrop PinnedDrop)] //~ ERROR expected `,`
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: duplicate `PinnedDrop` argument
|
||||
--> tests/ui/pin_project/invalid.rs:109:31
|
||||
|
|
||||
109 | #[pin_project(PinnedDrop, PinnedDrop)] //~ ERROR duplicate `PinnedDrop` argument
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: duplicate `UnsafeUnpin` argument
|
||||
--> tests/ui/pin_project/invalid.rs:112:32
|
||||
|
|
||||
112 | #[pin_project(UnsafeUnpin, UnsafeUnpin)] //~ ERROR duplicate `UnsafeUnpin` argument
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: duplicate `!Unpin` argument
|
||||
--> tests/ui/pin_project/invalid.rs:115:27
|
||||
|
|
||||
115 | #[pin_project(!Unpin, !Unpin)] //~ ERROR duplicate `!Unpin` argument
|
||||
| ^^^^^^
|
||||
|
||||
error: duplicate `UnsafeUnpin` argument
|
||||
--> tests/ui/pin_project/invalid.rs:118:44
|
||||
|
|
||||
118 | #[pin_project(PinnedDrop, UnsafeUnpin, UnsafeUnpin)] //~ ERROR duplicate `UnsafeUnpin` argument
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: duplicate `PinnedDrop` argument
|
||||
--> tests/ui/pin_project/invalid.rs:121:44
|
||||
|
|
||||
121 | #[pin_project(PinnedDrop, UnsafeUnpin, PinnedDrop, UnsafeUnpin)] //~ ERROR duplicate `PinnedDrop` argument
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: duplicate `project` argument
|
||||
--> tests/ui/pin_project/invalid.rs:124:32
|
||||
|
|
||||
124 | #[pin_project(project = A, project = B)] //~ ERROR duplicate `project` argument
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: duplicate `project` argument
|
||||
--> tests/ui/pin_project/invalid.rs:127:49
|
||||
|
|
||||
127 | #[pin_project(project = A, project_ref = A, project = B)] //~ ERROR duplicate `project` argument
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: duplicate `project_ref` argument
|
||||
--> tests/ui/pin_project/invalid.rs:130:36
|
||||
|
|
||||
130 | #[pin_project(project_ref = A, project_ref = B)] //~ ERROR duplicate `project_ref` argument
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
error: duplicate `project_replace` argument
|
||||
--> tests/ui/pin_project/invalid.rs:133:40
|
||||
|
|
||||
133 | #[pin_project(project_replace = A, project_replace = B)] //~ ERROR duplicate `project_replace` argument
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: duplicate `project_replace` argument
|
||||
--> tests/ui/pin_project/invalid.rs:136:36
|
||||
|
|
||||
136 | #[pin_project(project_replace, project_replace = B)] //~ ERROR duplicate `project_replace` argument
|
||||
| ^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: duplicate `project_replace` argument
|
||||
--> tests/ui/pin_project/invalid.rs:139:40
|
||||
|
|
||||
139 | #[pin_project(project_replace = A, project_replace)] //~ ERROR duplicate `project_replace` argument
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
error: arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
||||
--> tests/ui/pin_project/invalid.rs:145:19
|
||||
|
|
||||
145 | #[pin_project(PinnedDrop, project_replace)] //~ ERROR arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
||||
--> tests/ui/pin_project/invalid.rs:148:49
|
||||
|
|
||||
148 | #[pin_project(project_replace, UnsafeUnpin, PinnedDrop)] //~ ERROR arguments `PinnedDrop` and `project_replace` are mutually exclusive
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
||||
--> tests/ui/pin_project/invalid.rs:151:19
|
||||
|
|
||||
151 | #[pin_project(UnsafeUnpin, !Unpin)] //~ ERROR arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
||||
--> tests/ui/pin_project/invalid.rs:154:39
|
||||
|
|
||||
154 | #[pin_project(!Unpin, PinnedDrop, UnsafeUnpin)] //~ ERROR arguments `UnsafeUnpin` and `!Unpin` are mutually exclusive
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: expected `!Unpin`, found `!`
|
||||
--> tests/ui/pin_project/invalid.rs:157:19
|
||||
|
|
||||
157 | #[pin_project(!)] //~ ERROR expected `!Unpin`, found `!`
|
||||
| ^
|
||||
|
||||
error: unexpected argument: Unpin
|
||||
--> tests/ui/pin_project/invalid.rs:160:19
|
||||
|
|
||||
160 | #[pin_project(Unpin)] //~ ERROR unexpected argument
|
||||
| ^^^^^
|
||||
|
||||
error: expected `project = <identifier>`, found `project`
|
||||
--> tests/ui/pin_project/invalid.rs:163:19
|
||||
|
|
||||
163 | #[pin_project(project)] //~ ERROR expected `project = <identifier>`, found `project`
|
||||
| ^^^^^^^
|
||||
|
||||
error: expected `project = <identifier>`, found `project =`
|
||||
--> tests/ui/pin_project/invalid.rs:166:19
|
||||
|
|
||||
166 | #[pin_project(project = )] //~ ERROR expected `project = <identifier>`, found `project =`
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: expected identifier
|
||||
--> tests/ui/pin_project/invalid.rs:169:29
|
||||
|
|
||||
169 | #[pin_project(project = !)] //~ ERROR expected identifier
|
||||
| ^
|
||||
|
||||
error: expected `project_ref = <identifier>`, found `project_ref`
|
||||
--> tests/ui/pin_project/invalid.rs:172:19
|
||||
|
|
||||
172 | #[pin_project(project_ref)] //~ ERROR expected `project_ref = <identifier>`, found `project_ref`
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: expected `project_ref = <identifier>`, found `project_ref =`
|
||||
--> tests/ui/pin_project/invalid.rs:175:19
|
||||
|
|
||||
175 | #[pin_project(project_ref = )] //~ ERROR expected `project_ref = <identifier>`, found `project_ref =`
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
error: expected identifier
|
||||
--> tests/ui/pin_project/invalid.rs:178:33
|
||||
|
|
||||
178 | #[pin_project(project_ref = !)] //~ ERROR expected identifier
|
||||
| ^
|
||||
|
||||
error: expected `project_replace = <identifier>`, found `project_replace =`
|
||||
--> tests/ui/pin_project/invalid.rs:184:19
|
||||
|
|
||||
184 | #[pin_project(project_replace = )] //~ ERROR expected `project_replace = <identifier>`, found `project_replace =`
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: expected identifier
|
||||
--> tests/ui/pin_project/invalid.rs:187:37
|
||||
|
|
||||
187 | #[pin_project(project_replace = !)] //~ ERROR expected identifier
|
||||
| ^
|
||||
|
||||
error: `project_replace` argument requires a value when used on enums
|
||||
--> tests/ui/pin_project/invalid.rs:190:19
|
||||
|
|
||||
190 | #[pin_project(project_replace)] //~ ERROR `project_replace` argument requires a value when used on enums
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
error: name `OrigAndProj` is the same as the original type name
|
||||
--> tests/ui/pin_project/invalid.rs:199:29
|
||||
|
|
||||
199 | #[pin_project(project = OrigAndProj)] //~ ERROR name `OrigAndProj` is the same as the original type name
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: name `OrigAndProjRef` is the same as the original type name
|
||||
--> tests/ui/pin_project/invalid.rs:202:33
|
||||
|
|
||||
202 | #[pin_project(project_ref = OrigAndProjRef)] //~ ERROR name `OrigAndProjRef` is the same as the original type name
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: name `OrigAndProjOwn` is the same as the original type name
|
||||
--> tests/ui/pin_project/invalid.rs:205:37
|
||||
|
|
||||
205 | #[pin_project(project_replace = OrigAndProjOwn)] //~ ERROR name `OrigAndProjOwn` is the same as the original type name
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: name `A` is already specified by `project` argument
|
||||
--> tests/ui/pin_project/invalid.rs:208:46
|
||||
|
|
||||
208 | #[pin_project(project = A, project_ref = A)] //~ ERROR name `A` is already specified by `project` argument
|
||||
| ^
|
||||
|
||||
error: name `A` is already specified by `project` argument
|
||||
--> tests/ui/pin_project/invalid.rs:211:50
|
||||
|
|
||||
211 | #[pin_project(project = A, project_replace = A)] //~ ERROR name `A` is already specified by `project` argument
|
||||
| ^
|
||||
|
||||
error: name `A` is already specified by `project_ref` argument
|
||||
--> tests/ui/pin_project/invalid.rs:214:54
|
||||
|
|
||||
214 | #[pin_project(project_ref = A, project_replace = A)] //~ ERROR name `A` is already specified by `project_ref` argument
|
||||
| ^
|
||||
|
||||
error: duplicate #[pin_project] attribute
|
||||
--> tests/ui/pin_project/invalid.rs:222:5
|
||||
|
|
||||
222 | #[pin_project] //~ ERROR duplicate #[pin_project] attribute
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on structs with zero fields
|
||||
--> tests/ui/pin_project/invalid.rs:230:19
|
||||
|
|
||||
230 | struct Struct {} //~ ERROR may not be used on structs with zero fields
|
||||
| ^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on structs with zero fields
|
||||
--> tests/ui/pin_project/invalid.rs:233:23
|
||||
|
|
||||
233 | struct TupleStruct(); //~ ERROR may not be used on structs with zero fields
|
||||
| ^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on structs with zero fields
|
||||
--> tests/ui/pin_project/invalid.rs:236:12
|
||||
|
|
||||
236 | struct UnitStruct; //~ ERROR may not be used on structs with zero fields
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on enums without variants
|
||||
--> tests/ui/pin_project/invalid.rs:239:20
|
||||
|
|
||||
239 | enum EnumEmpty {} //~ ERROR may not be used on enums without variants
|
||||
| ^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on enums with discriminants
|
||||
--> tests/ui/pin_project/invalid.rs:243:13
|
||||
|
|
||||
243 | V = 2, //~ ERROR may not be used on enums with discriminants
|
||||
| ^
|
||||
|
||||
error: #[pin_project] attribute may not be used on enums with zero fields
|
||||
--> tests/ui/pin_project/invalid.rs:248:9
|
||||
|
|
||||
248 | / Unit, //~ ERROR may not be used on enums with zero fields
|
||||
249 | | Tuple(),
|
||||
250 | | Struct {},
|
||||
| |__________________^
|
||||
|
||||
error: #[pin_project] attribute may only be used on structs or enums
|
||||
--> tests/ui/pin_project/invalid.rs:254:5
|
||||
|
|
||||
254 | / union Union {
|
||||
255 | | //~^ ERROR may only be used on structs or enums
|
||||
256 | | f: (),
|
||||
257 | | }
|
||||
| |_____^
|
||||
|
||||
error: #[pin_project] attribute may only be used on structs or enums
|
||||
--> tests/ui/pin_project/invalid.rs:260:5
|
||||
|
|
||||
260 | impl Impl {} //~ ERROR may only be used on structs or enums
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/invalid.rs:268:12
|
||||
|
|
||||
268 | #[repr(packed)]
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/invalid.rs:272:12
|
||||
|
|
||||
272 | #[repr(packed)]
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/invalid.rs:276:12
|
||||
|
|
||||
276 | #[repr(packed)]
|
||||
| ^^^^^^
|
||||
19
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/overlapping_unpin_struct.rs
vendored
Normal file
19
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/overlapping_unpin_struct.rs
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
use std::marker::PhantomPinned;
|
||||
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
struct S<T> {
|
||||
#[pin]
|
||||
f: T,
|
||||
}
|
||||
|
||||
struct __S {}
|
||||
|
||||
impl Unpin for __S {}
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<S<PhantomPinned>>(); //~ ERROR E0277
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/pin_project/overlapping_unpin_struct.rs:18:5
|
||||
|
|
||||
18 | is_unpin::<S<PhantomPinned>>(); //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ within `_::__S<'_, PhantomPinned>`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `_::__S<'_, PhantomPinned>`
|
||||
--> tests/ui/pin_project/overlapping_unpin_struct.rs:6:8
|
||||
|
|
||||
6 | struct S<T> {
|
||||
| ^
|
||||
note: required because of the requirements on the impl of `Unpin` for `S<PhantomPinned>`
|
||||
--> tests/ui/pin_project/overlapping_unpin_struct.rs:5:1
|
||||
|
|
||||
5 | #[pin_project]
|
||||
| ^^^^^^^^^^^^^^
|
||||
6 | struct S<T> {
|
||||
| ^^^^
|
||||
note: required by a bound in `is_unpin`
|
||||
--> tests/ui/pin_project/overlapping_unpin_struct.rs:15:16
|
||||
|
|
||||
15 | fn is_unpin<T: Unpin>() {}
|
||||
| ^^^^^ required by this bound in `is_unpin`
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/override-priv-mod.rs
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/override-priv-mod.rs
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// https://discord.com/channels/273534239310479360/512792629516173323/870075511009857617
|
||||
|
||||
extern crate pin_project as pin_project_orig;
|
||||
extern crate self as pin_project;
|
||||
|
||||
pub use ::pin_project_orig::*;
|
||||
mod __private {
|
||||
pub use ::pin_project_orig::__private::*;
|
||||
pub trait Drop {}
|
||||
}
|
||||
|
||||
use std::{marker::PhantomPinned, mem};
|
||||
|
||||
#[pin_project] //~ ERROR conflicting implementations of trait `_::FooMustNotImplDrop`
|
||||
struct S {
|
||||
#[pin]
|
||||
f: (u8, PhantomPinned),
|
||||
}
|
||||
|
||||
impl Drop for S {
|
||||
fn drop(&mut self) {
|
||||
let prev = &self.f.0 as *const _ as usize;
|
||||
let moved = mem::take(&mut self.f); // move pinned field
|
||||
let moved = &moved.0 as *const _ as usize;
|
||||
assert_eq!(prev, moved); // panic
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let mut x = Box::pin(S { f: (1, PhantomPinned) });
|
||||
let _f = x.as_mut().project().f; // first mutable access
|
||||
}
|
||||
10
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/override-priv-mod.stderr
vendored
Normal file
10
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/override-priv-mod.stderr
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
error[E0119]: conflicting implementations of trait `_::SMustNotImplDrop` for type `S`
|
||||
--> tests/ui/pin_project/override-priv-mod.rs:14:1
|
||||
|
|
||||
14 | #[pin_project] //~ ERROR conflicting implementations of trait `_::FooMustNotImplDrop`
|
||||
| ^^^^^^^^^^^^^^
|
||||
| |
|
||||
| first implementation here
|
||||
| conflicting implementation for `S`
|
||||
|
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
24
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-enum.rs
vendored
Normal file
24
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-enum.rs
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
// #[repr(packed)] cannot be apply on enums and will be rejected by rustc.
|
||||
// However, we should not rely on the behavior of rustc that rejects this.
|
||||
// https://github.com/taiki-e/pin-project/pull/324#discussion_r612388001
|
||||
|
||||
#[repr(packed)] //~ ERROR E0517
|
||||
enum E1 {
|
||||
V(()),
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
#[repr(packed)] //~ ERROR E0517
|
||||
enum E2 {
|
||||
V(()),
|
||||
}
|
||||
|
||||
#[repr(packed)] //~ ERROR E0517
|
||||
#[pin_project]
|
||||
enum E3 {
|
||||
V(()),
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
42
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-enum.stderr
vendored
Normal file
42
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-enum.stderr
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
error: #[repr(packed)] attribute should be applied to a struct or union
|
||||
--> tests/ui/pin_project/packed-enum.rs:13:8
|
||||
|
|
||||
13 | #[repr(packed)] //~ ERROR E0517
|
||||
| ^^^^^^
|
||||
|
||||
error: #[repr(packed)] attribute should be applied to a struct or union
|
||||
--> tests/ui/pin_project/packed-enum.rs:18:8
|
||||
|
|
||||
18 | #[repr(packed)] //~ ERROR E0517
|
||||
| ^^^^^^
|
||||
|
||||
error[E0517]: attribute should be applied to a struct or union
|
||||
--> tests/ui/pin_project/packed-enum.rs:7:8
|
||||
|
|
||||
7 | #[repr(packed)] //~ ERROR E0517
|
||||
| ^^^^^^
|
||||
8 | / enum E1 {
|
||||
9 | | V(()),
|
||||
10 | | }
|
||||
| |_- not a struct or union
|
||||
|
||||
error[E0517]: attribute should be applied to a struct or union
|
||||
--> tests/ui/pin_project/packed-enum.rs:13:8
|
||||
|
|
||||
13 | #[repr(packed)] //~ ERROR E0517
|
||||
| ^^^^^^
|
||||
14 | / enum E2 {
|
||||
15 | | V(()),
|
||||
16 | | }
|
||||
| |_- not a struct or union
|
||||
|
||||
error[E0517]: attribute should be applied to a struct or union
|
||||
--> tests/ui/pin_project/packed-enum.rs:18:8
|
||||
|
|
||||
18 | #[repr(packed)] //~ ERROR E0517
|
||||
| ^^^^^^
|
||||
19 | #[pin_project]
|
||||
20 | / enum E3 {
|
||||
21 | | V(()),
|
||||
22 | | }
|
||||
| |_- not a struct or union
|
||||
27
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-name-value.rs
vendored
Normal file
27
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-name-value.rs
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
// #[repr(packed = "")] is not valid format of #[repr(packed)] and will be
|
||||
// rejected by rustc.
|
||||
// However, we should not rely on the behavior of rustc that rejects this.
|
||||
// https://github.com/taiki-e/pin-project/pull/324#discussion_r612388001
|
||||
|
||||
// https://github.com/taiki-e/pin-project/pull/324#discussion_r612388001
|
||||
// https://github.com/rust-lang/rust/issues/83921
|
||||
// #[repr(packed = "")] //~ ERROR E0552
|
||||
// struct S1 {
|
||||
// f: (),
|
||||
// }
|
||||
|
||||
#[pin_project]
|
||||
#[repr(packed = "")] //~ ERROR attribute should not be name-value pair
|
||||
struct S2 {
|
||||
f: (),
|
||||
}
|
||||
|
||||
#[repr(packed = "")] //~ ERROR attribute should not be name-value pair
|
||||
#[pin_project]
|
||||
struct S3 {
|
||||
f: (),
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-name-value.stderr
vendored
Normal file
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed-name-value.stderr
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
error: #[repr(packed)] attribute should not be name-value pair
|
||||
--> tests/ui/pin_project/packed-name-value.rs:16:8
|
||||
|
|
||||
16 | #[repr(packed = "")] //~ ERROR attribute should not be name-value pair
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: #[repr(packed)] attribute should not be name-value pair
|
||||
--> tests/ui/pin_project/packed-name-value.rs:21:8
|
||||
|
|
||||
21 | #[repr(packed = "")] //~ ERROR attribute should not be name-value pair
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error[E0693]: incorrect `repr(packed)` attribute format
|
||||
--> tests/ui/pin_project/packed-name-value.rs:16:8
|
||||
|
|
||||
16 | #[repr(packed = "")] //~ ERROR attribute should not be name-value pair
|
||||
| ^^^^^^^^^^^ help: use parentheses instead: `packed()`
|
||||
|
||||
error[E0693]: incorrect `repr(packed)` attribute format
|
||||
--> tests/ui/pin_project/packed-name-value.rs:21:8
|
||||
|
|
||||
21 | #[repr(packed = "")] //~ ERROR attribute should not be name-value pair
|
||||
| ^^^^^^^^^^^ help: use parentheses instead: `packed()`
|
||||
33
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed.rs
vendored
Normal file
33
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed.rs
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
#[repr(packed, C)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
struct Packed1 {
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
// Test putting 'repr' before the 'pin_project' attribute
|
||||
#[repr(packed, C)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
#[pin_project]
|
||||
struct Packed2 {
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
#[pin_project]
|
||||
#[repr(packed(2))] //~ ERROR may not be used on #[repr(packed)] types
|
||||
struct PackedN1 {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
// Test putting 'repr' before the 'pin_project' attribute
|
||||
#[repr(packed(2))] //~ ERROR may not be used on #[repr(packed)] types
|
||||
#[pin_project]
|
||||
struct PackedN2 {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed.stderr
vendored
Normal file
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed.stderr
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed.rs:4:8
|
||||
|
|
||||
4 | #[repr(packed, C)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed.rs:11:8
|
||||
|
|
||||
11 | #[repr(packed, C)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed.rs:19:8
|
||||
|
|
||||
19 | #[repr(packed(2))] //~ ERROR may not be used on #[repr(packed)] types
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed.rs:26:8
|
||||
|
|
||||
26 | #[repr(packed(2))] //~ ERROR may not be used on #[repr(packed)] types
|
||||
| ^^^^^^^^^
|
||||
41
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-1.rs
vendored
Normal file
41
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-1.rs
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
use auxiliary_macro::{hidden_repr, hidden_repr2};
|
||||
use pin_project::{pin_project, pinned_drop, UnsafeUnpin};
|
||||
|
||||
#[pin_project] //~ ERROR may not be used on #[repr(packed)] types
|
||||
#[hidden_repr(packed)]
|
||||
struct A {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
#[hidden_repr2]
|
||||
#[pin_project] //~ ERROR may not be used on #[repr(packed)] types
|
||||
struct B {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
#[pin_project(UnsafeUnpin)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
#[hidden_repr(packed)]
|
||||
struct C {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
unsafe impl UnsafeUnpin for C {}
|
||||
|
||||
#[pin_project(PinnedDrop)] //~ ERROR may not be used on #[repr(packed)] types
|
||||
#[hidden_repr(packed)]
|
||||
struct D {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for D {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
25
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-1.stderr
vendored
Normal file
25
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-1.stderr
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed_sneaky-1.rs:7:15
|
||||
|
|
||||
7 | #[hidden_repr(packed)]
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed_sneaky-1.rs:13:1
|
||||
|
|
||||
13 | #[hidden_repr2]
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the attribute macro `hidden_repr2` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed_sneaky-1.rs:21:15
|
||||
|
|
||||
21 | #[hidden_repr(packed)]
|
||||
| ^^^^^^
|
||||
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed_sneaky-1.rs:30:15
|
||||
|
|
||||
30 | #[hidden_repr(packed)]
|
||||
| ^^^^^^
|
||||
12
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-2.rs
vendored
Normal file
12
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-2.rs
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
use auxiliary_macro::hidden_repr_macro;
|
||||
use pin_project::pin_project;
|
||||
|
||||
hidden_repr_macro! { //~ ERROR may not be used on #[repr(packed)] types
|
||||
#[pin_project]
|
||||
struct B {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
13
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-2.stderr
vendored
Normal file
13
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-2.stderr
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
error: #[pin_project] attribute may not be used on #[repr(packed)] types
|
||||
--> tests/ui/pin_project/packed_sneaky-2.rs:4:1
|
||||
|
|
||||
4 | / hidden_repr_macro! { //~ ERROR may not be used on #[repr(packed)] types
|
||||
5 | | #[pin_project]
|
||||
6 | | struct B {
|
||||
7 | | #[pin]
|
||||
8 | | f: u32,
|
||||
9 | | }
|
||||
10 | | }
|
||||
| |_^
|
||||
|
|
||||
= note: this error originates in the macro `hidden_repr_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-3.rs
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-3.rs
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
use auxiliary_macro::{hidden_repr_macro, HiddenRepr};
|
||||
use pin_project::pin_project;
|
||||
|
||||
hidden_repr_macro! {} //~ ERROR expected item after attributes
|
||||
#[pin_project]
|
||||
struct S1 {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
macro_rules! hidden_repr_macro2 {
|
||||
() => {
|
||||
#[repr(packed)] //~ ERROR expected item after attributes
|
||||
};
|
||||
}
|
||||
|
||||
hidden_repr_macro2! {}
|
||||
#[pin_project]
|
||||
struct S2 {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
#[derive(HiddenRepr)] //~ ERROR expected item after attributes
|
||||
struct S3 {}
|
||||
#[pin_project]
|
||||
struct S4 {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-3.stderr
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-3.stderr
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
error: expected item after attributes
|
||||
--> tests/ui/pin_project/packed_sneaky-3.rs:4:1
|
||||
|
|
||||
4 | hidden_repr_macro! {} //~ ERROR expected item after attributes
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the macro `hidden_repr_macro` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: expected item after attributes
|
||||
--> tests/ui/pin_project/packed_sneaky-3.rs:13:9
|
||||
|
|
||||
13 | #[repr(packed)] //~ ERROR expected item after attributes
|
||||
| ^^^^^^^^^^^^^^^
|
||||
...
|
||||
17 | hidden_repr_macro2! {}
|
||||
| ---------------------- in this macro invocation
|
||||
|
|
||||
= note: this error originates in the macro `hidden_repr_macro2` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: expected item after attributes
|
||||
--> tests/ui/pin_project/packed_sneaky-3.rs:24:10
|
||||
|
|
||||
24 | #[derive(HiddenRepr)] //~ ERROR expected item after attributes
|
||||
| ^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `HiddenRepr` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: proc-macro derive produced unparseable tokens
|
||||
--> tests/ui/pin_project/packed_sneaky-3.rs:24:10
|
||||
|
|
||||
24 | #[derive(HiddenRepr)] //~ ERROR expected item after attributes
|
||||
| ^^^^^^^^^^
|
||||
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-4.rs
vendored
Normal file
15
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-4.rs
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
// https://github.com/taiki-e/pin-project/issues/342
|
||||
|
||||
#![allow(unaligned_references)]
|
||||
|
||||
use auxiliary_macro::hidden_repr2;
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project] //~ ERROR reference to packed field is unaligned
|
||||
#[hidden_repr2]
|
||||
struct A {
|
||||
#[pin]
|
||||
f: u32,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
16
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-4.stderr
vendored
Normal file
16
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/packed_sneaky-4.stderr
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
error: reference to packed field is unaligned
|
||||
--> tests/ui/pin_project/packed_sneaky-4.rs:8:1
|
||||
|
|
||||
8 | #[pin_project] //~ ERROR reference to packed field is unaligned
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> tests/ui/pin_project/packed_sneaky-4.rs:8:1
|
||||
|
|
||||
8 | #[pin_project] //~ ERROR reference to packed field is unaligned
|
||||
| ^^^^^^^^^^^^^^
|
||||
= 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)
|
||||
= 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 derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/private_in_public-enum.rs
vendored
Normal file
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/private_in_public-enum.rs
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
// Even if allows private_in_public, these are errors.
|
||||
|
||||
#![allow(private_in_public)]
|
||||
|
||||
pub enum PublicEnum {
|
||||
V(PrivateEnum), //~ ERROR E0446
|
||||
}
|
||||
|
||||
enum PrivateEnum {
|
||||
V(u8),
|
||||
}
|
||||
|
||||
mod foo {
|
||||
pub(crate) enum CrateEnum {
|
||||
V(PrivateEnum), //~ ERROR E0446
|
||||
}
|
||||
|
||||
enum PrivateEnum {
|
||||
V(u8),
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,17 @@
|
||||
error[E0446]: private type `PrivateEnum` in public interface
|
||||
--> tests/ui/pin_project/private_in_public-enum.rs:6:7
|
||||
|
|
||||
6 | V(PrivateEnum), //~ ERROR E0446
|
||||
| ^^^^^^^^^^^ can't leak private type
|
||||
...
|
||||
9 | enum PrivateEnum {
|
||||
| ---------------- `PrivateEnum` declared as private
|
||||
|
||||
error[E0446]: private type `foo::PrivateEnum` in public interface
|
||||
--> tests/ui/pin_project/private_in_public-enum.rs:15:11
|
||||
|
|
||||
15 | V(PrivateEnum), //~ ERROR E0446
|
||||
| ^^^^^^^^^^^ can't leak private type
|
||||
...
|
||||
18 | enum PrivateEnum {
|
||||
| ---------------- `foo::PrivateEnum` declared as private
|
||||
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/project_replace_unsized.rs
vendored
Normal file
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/project_replace_unsized.rs
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(project_replace)] //~ ERROR E0277
|
||||
struct Struct<T: ?Sized> {
|
||||
f: T,
|
||||
}
|
||||
|
||||
#[pin_project(project_replace)] //~ ERROR E0277
|
||||
struct TupleStruct<T: ?Sized>(T);
|
||||
|
||||
fn main() {}
|
||||
118
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/project_replace_unsized.stderr
vendored
Normal file
118
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/project_replace_unsized.stderr
vendored
Normal file
@@ -0,0 +1,118 @@
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:3:15
|
||||
|
|
||||
3 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
||||
4 | struct Struct<T: ?Sized> {
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
|
|
||||
note: required because it appears within the type `Struct<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:4:8
|
||||
|
|
||||
4 | struct Struct<T: ?Sized> {
|
||||
| ^^^^^^
|
||||
= help: unsized fn params are gated as an unstable feature
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
4 - struct Struct<T: ?Sized> {
|
||||
4 + struct Struct<T> {
|
||||
|
|
||||
help: function arguments must have a statically known size, borrowed types always have a known size
|
||||
|
|
||||
3 | #[pin_project(&project_replace)] //~ ERROR E0277
|
||||
| +
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:3:1
|
||||
|
|
||||
3 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
||||
4 | struct Struct<T: ?Sized> {
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
|
|
||||
note: required because it appears within the type `Struct<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:4:8
|
||||
|
|
||||
4 | struct Struct<T: ?Sized> {
|
||||
| ^^^^^^
|
||||
note: required by a bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
--> src/lib.rs
|
||||
|
|
||||
| impl<T> UnsafeOverwriteGuard<T> {
|
||||
| ^ required by this bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
4 - struct Struct<T: ?Sized> {
|
||||
4 + struct Struct<T> {
|
||||
|
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:5:5
|
||||
|
|
||||
3 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ------------------------------- required by a bound introduced by this call
|
||||
4 | struct Struct<T: ?Sized> {
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
5 | f: T,
|
||||
| ^ doesn't have a size known at compile-time
|
||||
|
|
||||
note: required by a bound in `std::ptr::read`
|
||||
--> $RUST/core/src/ptr/mod.rs
|
||||
|
|
||||
| pub const unsafe fn read<T>(src: *const T) -> T {
|
||||
| ^ required by this bound in `std::ptr::read`
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
4 - struct Struct<T: ?Sized> {
|
||||
4 + struct Struct<T> {
|
||||
|
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:8:15
|
||||
|
|
||||
8 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
||||
9 | struct TupleStruct<T: ?Sized>(T);
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
|
|
||||
note: required because it appears within the type `TupleStruct<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:9:8
|
||||
|
|
||||
9 | struct TupleStruct<T: ?Sized>(T);
|
||||
| ^^^^^^^^^^^
|
||||
= help: unsized fn params are gated as an unstable feature
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
9 - struct TupleStruct<T: ?Sized>(T);
|
||||
9 + struct TupleStruct<T>(T);
|
||||
|
|
||||
help: function arguments must have a statically known size, borrowed types always have a known size
|
||||
|
|
||||
8 | #[pin_project(&project_replace)] //~ ERROR E0277
|
||||
| +
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:8:1
|
||||
|
|
||||
8 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
||||
9 | struct TupleStruct<T: ?Sized>(T);
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
|
|
||||
note: required because it appears within the type `TupleStruct<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized.rs:9:8
|
||||
|
|
||||
9 | struct TupleStruct<T: ?Sized>(T);
|
||||
| ^^^^^^^^^^^
|
||||
note: required by a bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
--> src/lib.rs
|
||||
|
|
||||
| impl<T> UnsafeOverwriteGuard<T> {
|
||||
| ^ required by this bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
9 - struct TupleStruct<T: ?Sized>(T);
|
||||
9 + struct TupleStruct<T>(T);
|
||||
|
|
||||
@@ -0,0 +1,13 @@
|
||||
#![feature(unsized_fn_params)]
|
||||
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(project_replace)] //~ ERROR E0277
|
||||
struct Struct<T: ?Sized> {
|
||||
f: T,
|
||||
}
|
||||
|
||||
#[pin_project(project_replace)] //~ ERROR E0277
|
||||
struct TupleStruct<T: ?Sized>(T);
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,112 @@
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:6:8
|
||||
|
|
||||
6 | struct Struct<T: ?Sized> {
|
||||
| ^^^^^^^-^^^^^^^^^
|
||||
| | |
|
||||
| | this type parameter needs to be `std::marker::Sized`
|
||||
| doesn't have a size known at compile-time
|
||||
|
|
||||
note: required because it appears within the type `__StructProjectionOwned<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:6:8
|
||||
|
|
||||
6 | struct Struct<T: ?Sized> {
|
||||
| ^^^^^^
|
||||
= note: the return type of a function must have a statically known size
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
6 - struct Struct<T: ?Sized> {
|
||||
6 + struct Struct<T> {
|
||||
|
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:5:1
|
||||
|
|
||||
5 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
||||
6 | struct Struct<T: ?Sized> {
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
|
|
||||
note: required because it appears within the type `Struct<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:6:8
|
||||
|
|
||||
6 | struct Struct<T: ?Sized> {
|
||||
| ^^^^^^
|
||||
note: required by a bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
--> src/lib.rs
|
||||
|
|
||||
| impl<T> UnsafeOverwriteGuard<T> {
|
||||
| ^ required by this bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
6 - struct Struct<T: ?Sized> {
|
||||
6 + struct Struct<T> {
|
||||
|
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:7:5
|
||||
|
|
||||
5 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ------------------------------- required by a bound introduced by this call
|
||||
6 | struct Struct<T: ?Sized> {
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
7 | f: T,
|
||||
| ^ doesn't have a size known at compile-time
|
||||
|
|
||||
note: required by a bound in `std::ptr::read`
|
||||
--> $RUST/core/src/ptr/mod.rs
|
||||
|
|
||||
| pub const unsafe fn read<T>(src: *const T) -> T {
|
||||
| ^ required by this bound in `std::ptr::read`
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
6 - struct Struct<T: ?Sized> {
|
||||
6 + struct Struct<T> {
|
||||
|
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:11:8
|
||||
|
|
||||
11 | struct TupleStruct<T: ?Sized>(T);
|
||||
| ^^^^^^^^^^^^-^^^^^^^^^
|
||||
| | |
|
||||
| | this type parameter needs to be `std::marker::Sized`
|
||||
| doesn't have a size known at compile-time
|
||||
|
|
||||
note: required because it appears within the type `__TupleStructProjectionOwned<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:11:8
|
||||
|
|
||||
11 | struct TupleStruct<T: ?Sized>(T);
|
||||
| ^^^^^^^^^^^
|
||||
= note: the return type of a function must have a statically known size
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
11 - struct TupleStruct<T: ?Sized>(T);
|
||||
11 + struct TupleStruct<T>(T);
|
||||
|
|
||||
|
||||
error[E0277]: the size for values of type `T` cannot be known at compilation time
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:10:1
|
||||
|
|
||||
10 | #[pin_project(project_replace)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
||||
11 | struct TupleStruct<T: ?Sized>(T);
|
||||
| - this type parameter needs to be `std::marker::Sized`
|
||||
|
|
||||
note: required because it appears within the type `TupleStruct<T>`
|
||||
--> tests/ui/pin_project/project_replace_unsized_fn_params.rs:11:8
|
||||
|
|
||||
11 | struct TupleStruct<T: ?Sized>(T);
|
||||
| ^^^^^^^^^^^
|
||||
note: required by a bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
--> src/lib.rs
|
||||
|
|
||||
| impl<T> UnsafeOverwriteGuard<T> {
|
||||
| ^ required by this bound in `UnsafeOverwriteGuard::<T>::new`
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
||||
|
|
||||
11 - struct TupleStruct<T: ?Sized>(T);
|
||||
11 + struct TupleStruct<T>(T);
|
||||
|
|
||||
33
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/remove-attr-from-field.rs
vendored
Normal file
33
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/remove-attr-from-field.rs
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
use std::{marker::PhantomPinned, pin::Pin};
|
||||
|
||||
use auxiliary_macro::remove_attr;
|
||||
use pin_project::pin_project;
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
#[pin_project]
|
||||
#[remove_attr(field_all)]
|
||||
struct A {
|
||||
#[pin]
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
#[remove_attr(field_all)]
|
||||
#[pin_project]
|
||||
struct B {
|
||||
#[pin]
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<A>();
|
||||
is_unpin::<B>();
|
||||
|
||||
let mut x = A { f: PhantomPinned };
|
||||
let x = Pin::new(&mut x).project();
|
||||
let _: Pin<&mut PhantomPinned> = x.f; //~ ERROR E0308
|
||||
|
||||
let mut x = B { f: PhantomPinned };
|
||||
let x = Pin::new(&mut x).project();
|
||||
let _: Pin<&mut PhantomPinned> = x.f; //~ ERROR E0308
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
error[E0308]: mismatched types
|
||||
--> tests/ui/pin_project/remove-attr-from-field.rs:28:38
|
||||
|
|
||||
28 | let _: Pin<&mut PhantomPinned> = x.f; //~ ERROR E0308
|
||||
| ----------------------- ^^^ expected struct `Pin`, found `&mut PhantomPinned`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Pin<&mut PhantomPinned>`
|
||||
found mutable reference `&mut PhantomPinned`
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> tests/ui/pin_project/remove-attr-from-field.rs:32:38
|
||||
|
|
||||
32 | let _: Pin<&mut PhantomPinned> = x.f; //~ ERROR E0308
|
||||
| ----------------------- ^^^ expected struct `Pin`, found `&mut PhantomPinned`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected struct `Pin<&mut PhantomPinned>`
|
||||
found mutable reference `&mut PhantomPinned`
|
||||
47
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/remove-attr-from-struct.rs
vendored
Normal file
47
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/remove-attr-from-struct.rs
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
use std::{marker::PhantomPinned, pin::Pin};
|
||||
|
||||
use auxiliary_macro::remove_attr;
|
||||
use pin_project::pin_project;
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
#[pin_project]
|
||||
#[remove_attr(struct_all)]
|
||||
struct A {
|
||||
#[pin] //~ ERROR cannot find attribute `pin` in this scope
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
#[remove_attr(struct_all)]
|
||||
#[pin_project]
|
||||
struct B {
|
||||
#[pin] //~ ERROR cannot find attribute `pin` in this scope
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
#[pin_project] //~ ERROR has been removed
|
||||
#[remove_attr(struct_pin)]
|
||||
struct C {
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
#[remove_attr(struct_pin)]
|
||||
#[pin_project] // Ok
|
||||
struct D {
|
||||
f: PhantomPinned,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<A>(); //~ ERROR E0277
|
||||
is_unpin::<B>(); //~ ERROR E0277
|
||||
is_unpin::<D>(); // Ok
|
||||
|
||||
let mut x = A { f: PhantomPinned };
|
||||
let _ = Pin::new(&mut x).project(); //~ ERROR E0277,E0599
|
||||
|
||||
let mut x = B { f: PhantomPinned };
|
||||
let _ = Pin::new(&mut x).project(); //~ ERROR E0277,E0599
|
||||
|
||||
let mut x = D { f: PhantomPinned };
|
||||
let _ = Pin::new(&mut x).project(); //~ Ok
|
||||
}
|
||||
107
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/remove-attr-from-struct.stderr
vendored
Normal file
107
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/remove-attr-from-struct.stderr
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
error: #[pin_project] attribute has been removed
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:22:1
|
||||
|
|
||||
22 | #[pin_project] //~ ERROR has been removed
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the derive macro `::pin_project::__private::__PinProjectInternalDerive` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: cannot find attribute `pin` in this scope
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:18:7
|
||||
|
|
||||
18 | #[pin] //~ ERROR cannot find attribute `pin` in this scope
|
||||
| ^^^
|
||||
|
||||
error: cannot find attribute `pin` in this scope
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:11:7
|
||||
|
|
||||
11 | #[pin] //~ ERROR cannot find attribute `pin` in this scope
|
||||
| ^^^
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:35:5
|
||||
|
|
||||
35 | is_unpin::<A>(); //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^ within `A`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `A`
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:10:8
|
||||
|
|
||||
10 | struct A {
|
||||
| ^
|
||||
note: required by a bound in `is_unpin`
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:6:16
|
||||
|
|
||||
6 | fn is_unpin<T: Unpin>() {}
|
||||
| ^^^^^ required by this bound in `is_unpin`
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:36:5
|
||||
|
|
||||
36 | is_unpin::<B>(); //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^ within `B`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `B`
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:17:8
|
||||
|
|
||||
17 | struct B {
|
||||
| ^
|
||||
note: required by a bound in `is_unpin`
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:6:16
|
||||
|
|
||||
6 | fn is_unpin<T: Unpin>() {}
|
||||
| ^^^^^ required by this bound in `is_unpin`
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:40:22
|
||||
|
|
||||
40 | let _ = Pin::new(&mut x).project(); //~ ERROR E0277,E0599
|
||||
| -------- ^^^^^^ within `A`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `A`
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:10:8
|
||||
|
|
||||
10 | struct A {
|
||||
| ^
|
||||
note: required by a bound in `Pin::<P>::new`
|
||||
--> $RUST/core/src/pin.rs
|
||||
|
|
||||
| impl<P: Deref<Target: Unpin>> Pin<P> {
|
||||
| ^^^^^ required by this bound in `Pin::<P>::new`
|
||||
|
||||
error[E0599]: no method named `project` found for struct `Pin<&mut A>` in the current scope
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:40:30
|
||||
|
|
||||
40 | let _ = Pin::new(&mut x).project(); //~ ERROR E0277,E0599
|
||||
| ^^^^^^^ method not found in `Pin<&mut A>`
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:43:22
|
||||
|
|
||||
43 | let _ = Pin::new(&mut x).project(); //~ ERROR E0277,E0599
|
||||
| -------- ^^^^^^ within `B`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
| |
|
||||
| required by a bound introduced by this call
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `B`
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:17:8
|
||||
|
|
||||
17 | struct B {
|
||||
| ^
|
||||
note: required by a bound in `Pin::<P>::new`
|
||||
--> $RUST/core/src/pin.rs
|
||||
|
|
||||
| impl<P: Deref<Target: Unpin>> Pin<P> {
|
||||
| ^^^^^ required by this bound in `Pin::<P>::new`
|
||||
|
||||
error[E0599]: no method named `project` found for struct `Pin<&mut B>` in the current scope
|
||||
--> tests/ui/pin_project/remove-attr-from-struct.rs:43:30
|
||||
|
|
||||
43 | let _ = Pin::new(&mut x).project(); //~ ERROR E0277,E0599
|
||||
| ^^^^^^^ method not found in `Pin<&mut B>`
|
||||
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/safe_packed_borrows.rs
vendored
Normal file
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/safe_packed_borrows.rs
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
#![deny(renamed_and_removed_lints)]
|
||||
#![deny(safe_packed_borrows)] //~ ERROR has been renamed to `unaligned_references`
|
||||
#![allow(unaligned_references)]
|
||||
|
||||
// This lint was removed in https://github.com/rust-lang/rust/pull/82525 (nightly-2021-03-28).
|
||||
// Refs:
|
||||
// - https://github.com/rust-lang/rust/pull/82525
|
||||
// - https://github.com/rust-lang/rust/issues/46043
|
||||
|
||||
#[repr(packed)]
|
||||
struct Packed {
|
||||
f: u32,
|
||||
}
|
||||
|
||||
#[repr(packed(2))]
|
||||
struct PackedN {
|
||||
f: u32,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let a = Packed { f: 1 };
|
||||
let _ = &a.f;
|
||||
|
||||
let b = PackedN { f: 1 };
|
||||
let _ = &b.f;
|
||||
}
|
||||
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/safe_packed_borrows.stderr
vendored
Normal file
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/safe_packed_borrows.stderr
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
error: lint `safe_packed_borrows` has been renamed to `unaligned_references`
|
||||
--> tests/ui/pin_project/safe_packed_borrows.rs:2:9
|
||||
|
|
||||
2 | #![deny(safe_packed_borrows)] //~ ERROR has been renamed to `unaligned_references`
|
||||
| ^^^^^^^^^^^^^^^^^^^ help: use the new name: `unaligned_references`
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> tests/ui/pin_project/safe_packed_borrows.rs:1:9
|
||||
|
|
||||
1 | #![deny(renamed_and_removed_lints)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
21
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unaligned_references.rs
vendored
Normal file
21
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unaligned_references.rs
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
#![forbid(unaligned_references)]
|
||||
|
||||
// Refs: https://github.com/rust-lang/rust/issues/82523
|
||||
|
||||
#[repr(packed)]
|
||||
struct Packed {
|
||||
f: u32,
|
||||
}
|
||||
|
||||
#[repr(packed(2))]
|
||||
struct PackedN {
|
||||
f: u32,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let a = Packed { f: 1 };
|
||||
let _ = &a.f; //~ ERROR reference to packed field is unaligned
|
||||
|
||||
let b = PackedN { f: 1 };
|
||||
let _ = &b.f; //~ ERROR reference to packed field is unaligned
|
||||
}
|
||||
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unaligned_references.stderr
vendored
Normal file
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unaligned_references.stderr
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
error: reference to packed field is unaligned
|
||||
--> tests/ui/pin_project/unaligned_references.rs:17:13
|
||||
|
|
||||
17 | let _ = &a.f; //~ ERROR reference to packed field is unaligned
|
||||
| ^^^^
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> tests/ui/pin_project/unaligned_references.rs:1:11
|
||||
|
|
||||
1 | #![forbid(unaligned_references)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^
|
||||
= 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)
|
||||
= 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)
|
||||
|
||||
error: reference to packed field is unaligned
|
||||
--> tests/ui/pin_project/unaligned_references.rs:20:13
|
||||
|
|
||||
20 | let _ = &b.f; //~ ERROR reference to packed field is unaligned
|
||||
| ^^^^
|
||||
|
|
||||
= 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)
|
||||
= 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)
|
||||
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unpin_sneaky.rs
vendored
Normal file
11
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unpin_sneaky.rs
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
struct S {
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
impl Unpin for __S {} //~ ERROR E0412,E0321
|
||||
|
||||
fn main() {}
|
||||
5
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unpin_sneaky.stderr
vendored
Normal file
5
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/unpin_sneaky.stderr
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
error[E0412]: cannot find type `__S` in this scope
|
||||
--> tests/ui/pin_project/unpin_sneaky.rs:9:16
|
||||
|
|
||||
9 | impl Unpin for __S {} //~ ERROR E0412,E0321
|
||||
| ^^^ not found in this scope
|
||||
49
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/visibility.rs
vendored
Normal file
49
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/visibility.rs
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
/// Only named projected types can be imported.
|
||||
/// See import_unnamed.rs for unnamed projected types.
|
||||
|
||||
mod pub_ {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(project = DProj, project_ref = DProjRef)]
|
||||
pub struct Default(());
|
||||
|
||||
#[pin_project(project = RProj, project_ref = RProjRef, project_replace = RProjOwn)]
|
||||
pub struct Replace(());
|
||||
}
|
||||
pub mod pub_use {
|
||||
#[rustfmt::skip]
|
||||
pub use crate::pub_::DProj; //~ ERROR E0365
|
||||
#[rustfmt::skip]
|
||||
pub use crate::pub_::DProjRef; //~ ERROR E0365
|
||||
#[rustfmt::skip]
|
||||
pub use crate::pub_::RProj; //~ ERROR E0365
|
||||
#[rustfmt::skip]
|
||||
pub use crate::pub_::RProjOwn; //~ ERROR E0365
|
||||
#[rustfmt::skip]
|
||||
pub use crate::pub_::RProjRef; //~ ERROR E0365
|
||||
|
||||
// Confirm that the visibility of the original type is not changed.
|
||||
pub use crate::pub_::{Default, Replace};
|
||||
}
|
||||
pub mod pub_use2 {
|
||||
// Ok
|
||||
#[allow(unused_imports)]
|
||||
pub(crate) use crate::pub_::{DProj, DProjRef, RProj, RProjOwn, RProjRef};
|
||||
}
|
||||
|
||||
mod pub_crate {
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(project = DProj, project_ref = DProjRef)]
|
||||
pub(crate) struct Default(());
|
||||
|
||||
#[pin_project(project = RProj, project_ref = RProjRef, project_replace = RProjOwn)]
|
||||
pub(crate) struct Replace(());
|
||||
}
|
||||
pub mod pub_crate_use {
|
||||
// Ok
|
||||
#[allow(unused_imports)]
|
||||
pub(crate) use crate::pub_crate::{DProj, DProjRef, RProj, RProjOwn, RProjRef};
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
39
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/visibility.stderr
vendored
Normal file
39
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pin_project/visibility.stderr
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
error[E0365]: `DProj` is only public within the crate, and cannot be re-exported outside
|
||||
--> tests/ui/pin_project/visibility.rs:15:13
|
||||
|
|
||||
15 | pub use crate::pub_::DProj; //~ ERROR E0365
|
||||
| ^^^^^^^^^^^^^^^^^^ re-export of crate public `DProj`
|
||||
|
|
||||
= note: consider declaring type or module `DProj` with `pub`
|
||||
|
||||
error[E0365]: `DProjRef` is only public within the crate, and cannot be re-exported outside
|
||||
--> tests/ui/pin_project/visibility.rs:17:13
|
||||
|
|
||||
17 | pub use crate::pub_::DProjRef; //~ ERROR E0365
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ re-export of crate public `DProjRef`
|
||||
|
|
||||
= note: consider declaring type or module `DProjRef` with `pub`
|
||||
|
||||
error[E0365]: `RProj` is only public within the crate, and cannot be re-exported outside
|
||||
--> tests/ui/pin_project/visibility.rs:19:13
|
||||
|
|
||||
19 | pub use crate::pub_::RProj; //~ ERROR E0365
|
||||
| ^^^^^^^^^^^^^^^^^^ re-export of crate public `RProj`
|
||||
|
|
||||
= note: consider declaring type or module `RProj` with `pub`
|
||||
|
||||
error[E0365]: `RProjOwn` is only public within the crate, and cannot be re-exported outside
|
||||
--> tests/ui/pin_project/visibility.rs:21:13
|
||||
|
|
||||
21 | pub use crate::pub_::RProjOwn; //~ ERROR E0365
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ re-export of crate public `RProjOwn`
|
||||
|
|
||||
= note: consider declaring type or module `RProjOwn` with `pub`
|
||||
|
||||
error[E0365]: `RProjRef` is only public within the crate, and cannot be re-exported outside
|
||||
--> tests/ui/pin_project/visibility.rs:23:13
|
||||
|
|
||||
23 | pub use crate::pub_::RProjRef; //~ ERROR E0365
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ re-export of crate public `RProjRef`
|
||||
|
|
||||
= note: consider declaring type or module `RProjRef` with `pub`
|
||||
17
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/call-drop-inner.rs
vendored
Normal file
17
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/call-drop-inner.rs
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Struct {
|
||||
f: bool,
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Struct {
|
||||
fn drop(mut self: Pin<&mut Self>) {
|
||||
__drop_inner(__self);
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
16
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/call-drop-inner.stderr
vendored
Normal file
16
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/call-drop-inner.stderr
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
error[E0061]: this function takes 0 arguments but 1 argument was supplied
|
||||
--> tests/ui/pinned_drop/call-drop-inner.rs:13:9
|
||||
|
|
||||
13 | __drop_inner(__self);
|
||||
| ^^^^^^^^^^^^ ------ argument of type `Pin<&mut Struct>` unexpected
|
||||
|
|
||||
note: function defined here
|
||||
--> tests/ui/pinned_drop/call-drop-inner.rs:10:1
|
||||
|
|
||||
10 | #[pinned_drop]
|
||||
| ^^^^^^^^^^^^^^
|
||||
= note: this error originates in the attribute macro `pinned_drop` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
help: remove the extra argument
|
||||
|
|
||||
13 | __drop_inner();
|
||||
| ~~~~~~~~~~~~~~
|
||||
27
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/conditional-drop-impl.rs
vendored
Normal file
27
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/conditional-drop-impl.rs
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
// In `Drop` impl, the implementor must specify the same requirement as type definition.
|
||||
|
||||
struct DropImpl<T> {
|
||||
f: T,
|
||||
}
|
||||
|
||||
impl<T: Unpin> Drop for DropImpl<T> {
|
||||
//~^ ERROR E0367
|
||||
fn drop(&mut self) {}
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)] //~ ERROR E0277
|
||||
struct PinnedDropImpl<T> {
|
||||
#[pin]
|
||||
f: T,
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl<T: Unpin> PinnedDrop for PinnedDropImpl<T> {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,28 @@
|
||||
error[E0367]: `Drop` impl requires `T: Unpin` but the struct it is implemented for does not
|
||||
--> tests/ui/pinned_drop/conditional-drop-impl.rs:11:9
|
||||
|
|
||||
11 | impl<T: Unpin> Drop for DropImpl<T> {
|
||||
| ^^^^^
|
||||
|
|
||||
note: the implementor must specify the same requirement
|
||||
--> tests/ui/pinned_drop/conditional-drop-impl.rs:7:1
|
||||
|
|
||||
7 | struct DropImpl<T> {
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0277]: `T` cannot be unpinned
|
||||
--> tests/ui/pinned_drop/conditional-drop-impl.rs:16:15
|
||||
|
|
||||
16 | #[pin_project(PinnedDrop)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^ the trait `Unpin` is not implemented for `T`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because of the requirements on the impl of `PinnedDrop` for `PinnedDropImpl<T>`
|
||||
--> tests/ui/pinned_drop/conditional-drop-impl.rs:23:16
|
||||
|
|
||||
23 | impl<T: Unpin> PinnedDrop for PinnedDropImpl<T> {
|
||||
| ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
|
||||
help: consider restricting type parameter `T`
|
||||
|
|
||||
17 | struct PinnedDropImpl<T: std::marker::Unpin> {
|
||||
| ++++++++++++++++++++
|
||||
@@ -0,0 +1,9 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(PinnedDrop)] //~ ERROR E0277
|
||||
struct Struct {
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,5 @@
|
||||
error[E0277]: the trait bound `Struct: PinnedDrop` is not satisfied
|
||||
--> tests/ui/pinned_drop/forget-pinned-drop-impl.rs:3:15
|
||||
|
|
||||
3 | #[pin_project(PinnedDrop)] //~ ERROR E0277
|
||||
| ^^^^^^^^^^ the trait `PinnedDrop` is not implemented for `Struct`
|
||||
14
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid-self.rs
vendored
Normal file
14
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid-self.rs
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
// by-ref binding `ref (mut) self` and sub-patterns `@` are not allowed in receivers (rejected by rustc).
|
||||
|
||||
use std::pin::Pin;
|
||||
|
||||
struct S {}
|
||||
|
||||
impl S {
|
||||
fn take_ref_self(ref self: Pin<&mut Self>) {} //~ ERROR expected identifier, found keyword `self`
|
||||
fn take_ref_mut_self(ref mut self: Pin<&mut Self>) {} //~ ERROR expected identifier, found keyword `self`
|
||||
|
||||
fn self_subpat(self @ S {}: Self) {} //~ ERROR expected one of `)`, `,`, or `:`, found `@`
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
25
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid-self.stderr
vendored
Normal file
25
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid-self.stderr
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
error: expected identifier, found keyword `self`
|
||||
--> tests/ui/pinned_drop/invalid-self.rs:8:26
|
||||
|
|
||||
8 | fn take_ref_self(ref self: Pin<&mut Self>) {} //~ ERROR expected identifier, found keyword `self`
|
||||
| ^^^^ expected identifier, found keyword
|
||||
|
||||
error: expected identifier, found keyword `self`
|
||||
--> tests/ui/pinned_drop/invalid-self.rs:9:34
|
||||
|
|
||||
9 | fn take_ref_mut_self(ref mut self: Pin<&mut Self>) {} //~ ERROR expected identifier, found keyword `self`
|
||||
| ^^^^ expected identifier, found keyword
|
||||
|
||||
error: expected parameter name, found `@`
|
||||
--> tests/ui/pinned_drop/invalid-self.rs:11:25
|
||||
|
|
||||
11 | fn self_subpat(self @ S {}: Self) {} //~ ERROR expected one of `)`, `,`, or `:`, found `@`
|
||||
| ^ expected parameter name
|
||||
|
||||
error: expected one of `)`, `,`, or `:`, found `@`
|
||||
--> tests/ui/pinned_drop/invalid-self.rs:11:25
|
||||
|
|
||||
11 | fn self_subpat(self @ S {}: Self) {} //~ ERROR expected one of `)`, `,`, or `:`, found `@`
|
||||
| -^ expected one of `)`, `,`, or `:`
|
||||
| |
|
||||
| help: missing `,`
|
||||
231
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid.rs
vendored
Normal file
231
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid.rs
vendored
Normal file
@@ -0,0 +1,231 @@
|
||||
mod argument {
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct UnexpectedArg1(());
|
||||
|
||||
#[pinned_drop(foo)] //~ ERROR unexpected token
|
||||
impl PinnedDrop for UnexpectedArg1 {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct UnexpectedArg2(());
|
||||
|
||||
#[pinned_drop()] // Ok
|
||||
impl PinnedDrop for UnexpectedArg2 {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
}
|
||||
|
||||
mod attribute {
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Duplicate(());
|
||||
|
||||
#[pinned_drop]
|
||||
#[pinned_drop] //~ ERROR duplicate #[pinned_drop] attribute
|
||||
impl PinnedDrop for Duplicate {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
}
|
||||
|
||||
mod item {
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct TraitImpl(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl Drop for TraitImpl {} //~ ERROR may only be used on implementation for the `PinnedDrop` trait
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct InherentImpl(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl InherentImpl {} //~ ERROR may only be used on implementation for the `PinnedDrop` trait
|
||||
|
||||
#[pinned_drop]
|
||||
fn func(_: Pin<&mut ()>) {} //~ ERROR expected `impl`
|
||||
}
|
||||
|
||||
mod unsafety {
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Impl(());
|
||||
|
||||
#[pinned_drop]
|
||||
unsafe impl PinnedDrop for Impl {
|
||||
//~^ ERROR implementing the trait `PinnedDrop` is not unsafe
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Method(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Method {
|
||||
unsafe fn drop(self: Pin<&mut Self>) {} //~ ERROR implementing the method `drop` is not unsafe
|
||||
}
|
||||
}
|
||||
|
||||
mod assoc_item {
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Empty(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Empty {} //~ ERROR not all trait items implemented, missing: `drop`
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Const1(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Const1 {
|
||||
const A: u8 = 0; //~ ERROR const `A` is not a member of trait `PinnedDrop`
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Const2(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Const2 {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
const A: u8 = 0; //~ ERROR const `A` is not a member of trait `PinnedDrop`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Type1(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Type1 {
|
||||
type A = u8; //~ ERROR type `A` is not a member of trait `PinnedDrop`
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Type2(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Type2 {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
type A = u8; //~ ERROR type `A` is not a member of trait `PinnedDrop`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct Duplicate(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for Duplicate {
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
fn drop(self: Pin<&mut Self>) {} //~ ERROR duplicate definitions with name `drop`
|
||||
}
|
||||
}
|
||||
|
||||
mod method {
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct RetUnit(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for RetUnit {
|
||||
fn drop(self: Pin<&mut Self>) -> () {} // Ok
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct RetTy(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for RetTy {
|
||||
fn drop(self: Pin<&mut Self>) -> Self {} //~ ERROR method `drop` must return the unit type
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct NoArg(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for NoArg {
|
||||
fn drop() {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct MultiArg(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for MultiArg {
|
||||
fn drop(self: Pin<&mut Self>, _: ()) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct InvalidArg1(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for InvalidArg1 {
|
||||
fn drop(&mut self) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct InvalidArg2(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for InvalidArg2 {
|
||||
fn drop(_: Pin<&mut Self>) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct InvalidArg3(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for InvalidArg3 {
|
||||
fn drop(self: Pin<&Self>) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct InvalidArg4(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for InvalidArg4 {
|
||||
fn drop(self: Pin<&mut ()>) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct InvalidName(());
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for InvalidName {
|
||||
fn pinned_drop(self: Pin<&mut Self>) {} //~ ERROR method `pinned_drop` is not a member of trait `PinnedDrop
|
||||
}
|
||||
}
|
||||
|
||||
mod self_ty {
|
||||
use pin_project::pinned_drop;
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for () {
|
||||
//~^ ERROR implementing the trait `PinnedDrop` on this type is unsupported
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for &mut A {
|
||||
//~^ ERROR implementing the trait `PinnedDrop` on this type is unsupported
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for [A] {
|
||||
//~^ ERROR implementing the trait `PinnedDrop` on this type is unsupported
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
143
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid.stderr
vendored
Normal file
143
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/invalid.stderr
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
error: unexpected token: `foo`
|
||||
--> tests/ui/pinned_drop/invalid.rs:9:19
|
||||
|
|
||||
9 | #[pinned_drop(foo)] //~ ERROR unexpected token
|
||||
| ^^^
|
||||
|
||||
error: duplicate #[pinned_drop] attribute
|
||||
--> tests/ui/pinned_drop/invalid.rs:30:5
|
||||
|
|
||||
30 | #[pinned_drop] //~ ERROR duplicate #[pinned_drop] attribute
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: #[pinned_drop] may only be used on implementation for the `PinnedDrop` trait
|
||||
--> tests/ui/pinned_drop/invalid.rs:43:10
|
||||
|
|
||||
43 | impl Drop for TraitImpl {} //~ ERROR may only be used on implementation for the `PinnedDrop` trait
|
||||
| ^^^^
|
||||
|
||||
error: #[pinned_drop] may only be used on implementation for the `PinnedDrop` trait
|
||||
--> tests/ui/pinned_drop/invalid.rs:49:10
|
||||
|
|
||||
49 | impl InherentImpl {} //~ ERROR may only be used on implementation for the `PinnedDrop` trait
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: expected `impl`
|
||||
--> tests/ui/pinned_drop/invalid.rs:52:5
|
||||
|
|
||||
52 | fn func(_: Pin<&mut ()>) {} //~ ERROR expected `impl`
|
||||
| ^^
|
||||
|
||||
error: implementing the trait `PinnedDrop` is not unsafe
|
||||
--> tests/ui/pinned_drop/invalid.rs:62:5
|
||||
|
|
||||
62 | unsafe impl PinnedDrop for Impl {
|
||||
| ^^^^^^
|
||||
|
||||
error: implementing the method `drop` is not unsafe
|
||||
--> tests/ui/pinned_drop/invalid.rs:72:9
|
||||
|
|
||||
72 | unsafe fn drop(self: Pin<&mut Self>) {} //~ ERROR implementing the method `drop` is not unsafe
|
||||
| ^^^^^^
|
||||
|
||||
error: not all trait items implemented, missing: `drop`
|
||||
--> tests/ui/pinned_drop/invalid.rs:83:5
|
||||
|
|
||||
83 | impl PinnedDrop for Empty {} //~ ERROR not all trait items implemented, missing: `drop`
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: const `A` is not a member of trait `PinnedDrop`
|
||||
--> tests/ui/pinned_drop/invalid.rs:90:9
|
||||
|
|
||||
90 | const A: u8 = 0; //~ ERROR const `A` is not a member of trait `PinnedDrop`
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
||||
error: const `A` is not a member of trait `PinnedDrop`
|
||||
--> tests/ui/pinned_drop/invalid.rs:100:9
|
||||
|
|
||||
100 | const A: u8 = 0; //~ ERROR const `A` is not a member of trait `PinnedDrop`
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
||||
error: type `A` is not a member of trait `PinnedDrop`
|
||||
--> tests/ui/pinned_drop/invalid.rs:108:9
|
||||
|
|
||||
108 | type A = u8; //~ ERROR type `A` is not a member of trait `PinnedDrop`
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: type `A` is not a member of trait `PinnedDrop`
|
||||
--> tests/ui/pinned_drop/invalid.rs:118:9
|
||||
|
|
||||
118 | type A = u8; //~ ERROR type `A` is not a member of trait `PinnedDrop`
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: duplicate definitions with name `drop`
|
||||
--> tests/ui/pinned_drop/invalid.rs:127:9
|
||||
|
|
||||
127 | fn drop(self: Pin<&mut Self>) {} //~ ERROR duplicate definitions with name `drop`
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: method `drop` must return the unit type
|
||||
--> tests/ui/pinned_drop/invalid.rs:149:42
|
||||
|
|
||||
149 | fn drop(self: Pin<&mut Self>) -> Self {} //~ ERROR method `drop` must return the unit type
|
||||
| ^^^^
|
||||
|
||||
error: method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
--> tests/ui/pinned_drop/invalid.rs:157:16
|
||||
|
|
||||
157 | fn drop() {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
| ^^
|
||||
|
||||
error: method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
--> tests/ui/pinned_drop/invalid.rs:165:17
|
||||
|
|
||||
165 | fn drop(self: Pin<&mut Self>, _: ()) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
--> tests/ui/pinned_drop/invalid.rs:173:17
|
||||
|
|
||||
173 | fn drop(&mut self) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
--> tests/ui/pinned_drop/invalid.rs:181:17
|
||||
|
|
||||
181 | fn drop(_: Pin<&mut Self>) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
--> tests/ui/pinned_drop/invalid.rs:189:17
|
||||
|
|
||||
189 | fn drop(self: Pin<&Self>) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
||||
error: method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
--> tests/ui/pinned_drop/invalid.rs:197:17
|
||||
|
|
||||
197 | fn drop(self: Pin<&mut ()>) {} //~ ERROR method `drop` must take an argument `self: Pin<&mut Self>`
|
||||
| ^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: method `pinned_drop` is not a member of trait `PinnedDrop
|
||||
--> tests/ui/pinned_drop/invalid.rs:205:12
|
||||
|
|
||||
205 | fn pinned_drop(self: Pin<&mut Self>) {} //~ ERROR method `pinned_drop` is not a member of trait `PinnedDrop
|
||||
| ^^^^^^^^^^^
|
||||
|
||||
error: implementing the trait `PinnedDrop` on this type is unsupported
|
||||
--> tests/ui/pinned_drop/invalid.rs:213:25
|
||||
|
|
||||
213 | impl PinnedDrop for () {
|
||||
| ^^
|
||||
|
||||
error: implementing the trait `PinnedDrop` on this type is unsupported
|
||||
--> tests/ui/pinned_drop/invalid.rs:219:25
|
||||
|
|
||||
219 | impl PinnedDrop for &mut A {
|
||||
| ^^^^^^
|
||||
|
||||
error: implementing the trait `PinnedDrop` on this type is unsupported
|
||||
--> tests/ui/pinned_drop/invalid.rs:225:25
|
||||
|
|
||||
225 | impl PinnedDrop for [A] {
|
||||
| ^^^
|
||||
17
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/pinned-drop-no-attr-arg.rs
vendored
Normal file
17
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/pinned-drop-no-attr-arg.rs
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project]
|
||||
struct S {
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for S {
|
||||
//~^ ERROR E0119
|
||||
fn drop(self: Pin<&mut Self>) {}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,8 @@
|
||||
error[E0119]: conflicting implementations of trait `_::_pin_project::__private::PinnedDrop` for type `S`
|
||||
--> tests/ui/pinned_drop/pinned-drop-no-attr-arg.rs:12:1
|
||||
|
|
||||
5 | #[pin_project]
|
||||
| -------------- first implementation here
|
||||
...
|
||||
12 | impl PinnedDrop for S {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `S`
|
||||
58
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/self.rs
vendored
Normal file
58
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/self.rs
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
pub mod self_in_macro_def {
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
pub struct S {
|
||||
f: (),
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for S {
|
||||
fn drop(self: Pin<&mut Self>) {
|
||||
macro_rules! t {
|
||||
() => {{
|
||||
let _ = self; //~ ERROR E0434
|
||||
|
||||
fn f(self: ()) {} //~ ERROR `self` parameter is only allowed in associated functions
|
||||
}};
|
||||
}
|
||||
t!();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub mod self_span {
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
pub struct S {
|
||||
f: (),
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for S {
|
||||
fn drop(self: Pin<&mut Self>) {
|
||||
let _: () = self; //~ ERROR E0308
|
||||
let _: Self = Self; //~ ERROR E0423
|
||||
}
|
||||
}
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
pub enum E {
|
||||
V { f: () },
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for E {
|
||||
fn drop(self: Pin<&mut Self>) {
|
||||
let _: () = self; //~ ERROR E0308
|
||||
let _: Self = Self::V; //~ ERROR E0533
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
62
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/self.stderr
vendored
Normal file
62
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/self.stderr
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
error: `self` parameter is only allowed in associated functions
|
||||
--> tests/ui/pinned_drop/self.rs:18:26
|
||||
|
|
||||
18 | fn f(self: ()) {} //~ ERROR `self` parameter is only allowed in associated functions
|
||||
| ^^^^ not semantically valid as function parameter
|
||||
...
|
||||
21 | t!();
|
||||
| ---- in this macro invocation
|
||||
|
|
||||
= note: associated functions are those in `impl` or `trait` definitions
|
||||
= note: this error originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0434]: can't capture dynamic environment in a fn item
|
||||
--> tests/ui/pinned_drop/self.rs:16:29
|
||||
|
|
||||
16 | let _ = self; //~ ERROR E0434
|
||||
| ^^^^
|
||||
...
|
||||
21 | t!();
|
||||
| ---- in this macro invocation
|
||||
|
|
||||
= help: use the `|| { ... }` closure form instead
|
||||
= note: this error originates in the macro `t` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error[E0423]: expected value, found struct `S`
|
||||
--> tests/ui/pinned_drop/self.rs:40:27
|
||||
|
|
||||
32 | / pub struct S {
|
||||
33 | | f: (),
|
||||
34 | | }
|
||||
| |_____- `S` defined here
|
||||
...
|
||||
40 | let _: Self = Self; //~ ERROR E0423
|
||||
| ^^^^ help: use struct literal syntax instead: `S { f: val }`
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> tests/ui/pinned_drop/self.rs:39:25
|
||||
|
|
||||
39 | let _: () = self; //~ ERROR E0308
|
||||
| -- ^^^^ expected `()`, found struct `Pin`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found struct `Pin<&mut self_span::S>`
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> tests/ui/pinned_drop/self.rs:52:25
|
||||
|
|
||||
52 | let _: () = self; //~ ERROR E0308
|
||||
| -- ^^^^ expected `()`, found struct `Pin`
|
||||
| |
|
||||
| expected due to this
|
||||
|
|
||||
= note: expected unit type `()`
|
||||
found struct `Pin<&mut E>`
|
||||
|
||||
error[E0533]: expected unit struct, unit variant or constant, found struct variant `E::V`
|
||||
--> tests/ui/pinned_drop/self.rs:53:27
|
||||
|
|
||||
53 | let _: Self = Self::V; //~ ERROR E0533
|
||||
| ^^^^^^^
|
||||
18
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/unsafe-call.rs
vendored
Normal file
18
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/unsafe-call.rs
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
use std::pin::Pin;
|
||||
|
||||
use pin_project::{pin_project, pinned_drop};
|
||||
|
||||
#[pin_project(PinnedDrop)]
|
||||
struct S {
|
||||
#[pin]
|
||||
f: u8,
|
||||
}
|
||||
|
||||
#[pinned_drop]
|
||||
impl PinnedDrop for S {
|
||||
fn drop(self: Pin<&mut Self>) {
|
||||
self.project().f.get_unchecked_mut(); //~ ERROR call to unsafe function is unsafe and requires unsafe function or block [E0133]
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
7
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/unsafe-call.stderr
vendored
Normal file
7
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/pinned_drop/unsafe-call.stderr
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
|
||||
--> tests/ui/pinned_drop/unsafe-call.rs:14:9
|
||||
|
|
||||
14 | self.project().f.get_unchecked_mut(); //~ ERROR call to unsafe function is unsafe and requires unsafe function or block [E0133]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
|
||||
|
|
||||
= note: consult the function's documentation for information on how to avoid undefined behavior
|
||||
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unsafe_unpin/conflict-unpin.rs
vendored
Normal file
30
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unsafe_unpin/conflict-unpin.rs
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project(UnsafeUnpin)] //~ ERROR E0119
|
||||
struct Foo<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
impl<T, U> Unpin for Foo<T, U> where T: Unpin {}
|
||||
|
||||
#[pin_project(UnsafeUnpin)] //~ ERROR E0119
|
||||
struct Bar<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
impl<T, U> Unpin for Bar<T, U> {}
|
||||
|
||||
#[pin_project(UnsafeUnpin)] //~ ERROR E0119
|
||||
struct Baz<T, U> {
|
||||
#[pin]
|
||||
f1: T,
|
||||
f2: U,
|
||||
}
|
||||
|
||||
impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {}
|
||||
|
||||
fn main() {}
|
||||
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unsafe_unpin/conflict-unpin.stderr
vendored
Normal file
32
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unsafe_unpin/conflict-unpin.stderr
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Foo<_, _>`
|
||||
--> tests/ui/unsafe_unpin/conflict-unpin.rs:3:15
|
||||
|
|
||||
3 | #[pin_project(UnsafeUnpin)] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^ conflicting implementation for `Foo<_, _>`
|
||||
...
|
||||
10 | impl<T, U> Unpin for Foo<T, U> where T: Unpin {}
|
||||
| ------------------------------ first implementation here
|
||||
|
|
||||
= note: upstream crates may add a new impl of trait `_::_pin_project::UnsafeUnpin` for type `_::_pin_project::__private::Wrapper<'_, Foo<_, _>>` in future versions
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Bar<_, _>`
|
||||
--> tests/ui/unsafe_unpin/conflict-unpin.rs:12:15
|
||||
|
|
||||
12 | #[pin_project(UnsafeUnpin)] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^ conflicting implementation for `Bar<_, _>`
|
||||
...
|
||||
19 | impl<T, U> Unpin for Bar<T, U> {}
|
||||
| ------------------------------ first implementation here
|
||||
|
|
||||
= note: upstream crates may add a new impl of trait `_::_pin_project::UnsafeUnpin` for type `_::_pin_project::__private::Wrapper<'_, Bar<_, _>>` in future versions
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Baz<_, _>`
|
||||
--> tests/ui/unsafe_unpin/conflict-unpin.rs:21:15
|
||||
|
|
||||
21 | #[pin_project(UnsafeUnpin)] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^ conflicting implementation for `Baz<_, _>`
|
||||
...
|
||||
28 | impl<T: Unpin, U: Unpin> Unpin for Baz<T, U> {}
|
||||
| -------------------------------------------- first implementation here
|
||||
|
|
||||
= note: upstream crates may add a new impl of trait `_::_pin_project::UnsafeUnpin` for type `_::_pin_project::__private::Wrapper<'_, Baz<_, _>>` in future versions
|
||||
7
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/README.md
vendored
Normal file
7
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/README.md
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
# UI tests for unstable features
|
||||
|
||||
These tests check how the guarantees and features provided by pin-project
|
||||
interact with unstable language features.
|
||||
|
||||
The names of the files contained in this directory need to begin with the name
|
||||
of the feature.
|
||||
@@ -0,0 +1,20 @@
|
||||
// Note: If you change this test, change 'marker_trait_attr.rs' at the same time.
|
||||
|
||||
use std::marker::PhantomPinned;
|
||||
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Struct<T> {
|
||||
#[pin]
|
||||
f: T,
|
||||
}
|
||||
|
||||
// unsound Unpin impl
|
||||
impl<T> Unpin for Struct<T> {}
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<Struct<PhantomPinned>>()
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Struct<_>`
|
||||
--> tests/ui/unstable-features/marker_trait_attr-feature-gate.rs:7:1
|
||||
|
|
||||
7 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Struct<_>`
|
||||
...
|
||||
14 | impl<T> Unpin for Struct<T> {}
|
||||
| --------------------------- 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)
|
||||
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/marker_trait_attr.rs
vendored
Normal file
26
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/marker_trait_attr.rs
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
// Note: If you change this test, change 'marker_trait_attr-feature-gate.rs' at the same time.
|
||||
|
||||
// marker_trait_attr
|
||||
// Tracking issue: https://github.com/rust-lang/rust/issues/29864
|
||||
#![feature(marker_trait_attr)]
|
||||
|
||||
// See https://github.com/taiki-e/pin-project/issues/105#issuecomment-535355974
|
||||
|
||||
use std::marker::PhantomPinned;
|
||||
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Struct<T> {
|
||||
#[pin]
|
||||
f: T,
|
||||
}
|
||||
|
||||
// unsound Unpin impl
|
||||
impl<T> Unpin for Struct<T> {}
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<Struct<PhantomPinned>>()
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Struct<_>`
|
||||
--> tests/ui/unstable-features/marker_trait_attr.rs:13:1
|
||||
|
|
||||
13 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Struct<_>`
|
||||
...
|
||||
20 | impl<T> Unpin for Struct<T> {}
|
||||
| --------------------------- 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)
|
||||
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/negative_impls.rs
vendored
Normal file
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/negative_impls.rs
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
#![feature(negative_impls)]
|
||||
#![deny(suspicious_auto_trait_impls)]
|
||||
|
||||
// https://rust-lang.zulipchat.com/#narrow/stream/213817-t-lang/topic/design.20meeting.3A.20backlog.20bonanza/near/269471299
|
||||
// https://github.com/taiki-e/pin-project/issues/340
|
||||
|
||||
#[pin_project::pin_project]
|
||||
struct Foo<Pinned, Unpinned> {
|
||||
#[pin]
|
||||
pinned: Pinned,
|
||||
|
||||
unpinned: Unpinned,
|
||||
}
|
||||
|
||||
struct MyPhantomPinned {}
|
||||
impl !Unpin for MyPhantomPinned {}
|
||||
impl Unpin for Foo<MyPhantomPinned, ()> {}
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<Foo<MyPhantomPinned, ()>>()
|
||||
}
|
||||
19
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/negative_impls.stderr
vendored
Normal file
19
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/negative_impls.stderr
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
error: cross-crate traits with a default impl, like `Unpin`, should not be specialized
|
||||
--> tests/ui/unstable-features/negative_impls.rs:17:1
|
||||
|
|
||||
17 | impl Unpin for Foo<MyPhantomPinned, ()> {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> tests/ui/unstable-features/negative_impls.rs:2:9
|
||||
|
|
||||
2 | #![deny(suspicious_auto_trait_impls)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
= warning: this will change its meaning in a future release!
|
||||
= note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
|
||||
= note: `MyPhantomPinned` is not a generic parameter
|
||||
note: try using the same sequence of generic parameters as the struct definition
|
||||
--> tests/ui/unstable-features/negative_impls.rs:8:1
|
||||
|
|
||||
8 | struct Foo<Pinned, Unpinned> {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@@ -0,0 +1,20 @@
|
||||
// Note: If you change this test, change 'overlapping_marker_traits.rs' at the same time.
|
||||
|
||||
use std::marker::PhantomPinned;
|
||||
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project] //~ ERROR E0119
|
||||
struct Struct<T> {
|
||||
#[pin]
|
||||
f: T,
|
||||
}
|
||||
|
||||
// unsound Unpin impl
|
||||
impl<T> Unpin for Struct<T> {}
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<Struct<PhantomPinned>>()
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Struct<_>`
|
||||
--> tests/ui/unstable-features/overlapping_marker_traits-feature-gate.rs:7:1
|
||||
|
|
||||
7 | #[pin_project] //~ ERROR E0119
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Struct<_>`
|
||||
...
|
||||
14 | impl<T> Unpin for Struct<T> {}
|
||||
| --------------------------- 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)
|
||||
@@ -0,0 +1,30 @@
|
||||
// Note: If you change this test, change 'overlapping_marker_traits-feature-gate.rs' at the same time.
|
||||
|
||||
// This feature could break the guarantee for Unpin provided by pin-project,
|
||||
// but was removed in https://github.com/rust-lang/rust/pull/68544 (nightly-2020-02-06).
|
||||
// Refs:
|
||||
// - https://github.com/rust-lang/rust/issues/29864#issuecomment-515780867
|
||||
// - https://github.com/taiki-e/pin-project/issues/105
|
||||
|
||||
// overlapping_marker_traits
|
||||
// Tracking issue: https://github.com/rust-lang/rust/issues/29864
|
||||
#![feature(overlapping_marker_traits)]
|
||||
|
||||
use std::marker::PhantomPinned;
|
||||
|
||||
use pin_project::pin_project;
|
||||
|
||||
#[pin_project]
|
||||
struct Struct<T> {
|
||||
#[pin]
|
||||
f: T,
|
||||
}
|
||||
|
||||
// unsound Unpin impl
|
||||
impl<T> Unpin for Struct<T> {}
|
||||
|
||||
fn is_unpin<T: Unpin>() {}
|
||||
|
||||
fn main() {
|
||||
is_unpin::<Struct<PhantomPinned>>()
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
error[E0557]: feature has been removed
|
||||
--> tests/ui/unstable-features/overlapping_marker_traits.rs:11:12
|
||||
|
|
||||
11 | #![feature(overlapping_marker_traits)]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ feature has been removed
|
||||
|
|
||||
= note: removed in favor of `#![feature(marker_trait_attr)]`
|
||||
|
||||
error[E0119]: conflicting implementations of trait `std::marker::Unpin` for type `Struct<_>`
|
||||
--> tests/ui/unstable-features/overlapping_marker_traits.rs:17:1
|
||||
|
|
||||
17 | #[pin_project]
|
||||
| ^^^^^^^^^^^^^^ conflicting implementation for `Struct<_>`
|
||||
...
|
||||
24 | impl<T> Unpin for Struct<T> {}
|
||||
| --------------------------- 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)
|
||||
@@ -0,0 +1,53 @@
|
||||
// Note: If you change this test, change 'trivial_bounds.rs' at the same time.
|
||||
|
||||
mod phantom_pinned {
|
||||
use std::marker::{PhantomData, PhantomPinned};
|
||||
|
||||
struct A(PhantomPinned);
|
||||
|
||||
impl Unpin for A where PhantomPinned: Unpin {} //~ ERROR E0277
|
||||
|
||||
struct Wrapper<T>(T);
|
||||
|
||||
impl<T> Unpin for Wrapper<T> where T: Unpin {}
|
||||
|
||||
struct B(PhantomPinned);
|
||||
|
||||
impl Unpin for B where Wrapper<PhantomPinned>: Unpin {} //~ ERROR E0277
|
||||
|
||||
struct WrapperWithLifetime<'a, T>(PhantomData<&'a ()>, T);
|
||||
|
||||
impl<T> Unpin for WrapperWithLifetime<'_, T> where T: Unpin {}
|
||||
|
||||
struct C(PhantomPinned);
|
||||
|
||||
impl<'a> Unpin for C where WrapperWithLifetime<'a, PhantomPinned>: Unpin {} // Ok
|
||||
}
|
||||
|
||||
mod inner {
|
||||
use std::marker::{PhantomData, PhantomPinned};
|
||||
|
||||
struct Inner(PhantomPinned);
|
||||
|
||||
struct A(Inner);
|
||||
|
||||
impl Unpin for A where Inner: Unpin {} //~ ERROR E0277
|
||||
|
||||
struct Wrapper<T>(T);
|
||||
|
||||
impl<T> Unpin for Wrapper<T> where T: Unpin {}
|
||||
|
||||
struct B(Inner);
|
||||
|
||||
impl Unpin for B where Wrapper<Inner>: Unpin {} //~ ERROR E0277
|
||||
|
||||
struct WrapperWithLifetime<'a, T>(PhantomData<&'a ()>, T);
|
||||
|
||||
impl<T> Unpin for WrapperWithLifetime<'_, T> where T: Unpin {}
|
||||
|
||||
struct C(Inner);
|
||||
|
||||
impl<'a> Unpin for C where WrapperWithLifetime<'a, Inner>: Unpin {} // Ok
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
@@ -0,0 +1,59 @@
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:8:28
|
||||
|
|
||||
8 | impl Unpin for A where PhantomPinned: Unpin {} //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^ the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
= help: see issue #48214
|
||||
= help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:16:28
|
||||
|
|
||||
16 | impl Unpin for B where Wrapper<PhantomPinned>: Unpin {} //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because of the requirements on the impl of `Unpin` for `phantom_pinned::Wrapper<PhantomPinned>`
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:12:13
|
||||
|
|
||||
12 | impl<T> Unpin for Wrapper<T> where T: Unpin {}
|
||||
| ^^^^^ ^^^^^^^^^^
|
||||
= help: see issue #48214
|
||||
= help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:34:28
|
||||
|
|
||||
34 | impl Unpin for A where Inner: Unpin {} //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^ within `Inner`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `Inner`
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:30:12
|
||||
|
|
||||
30 | struct Inner(PhantomPinned);
|
||||
| ^^^^^
|
||||
= help: see issue #48214
|
||||
= help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
|
||||
|
||||
error[E0277]: `PhantomPinned` cannot be unpinned
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:42:28
|
||||
|
|
||||
42 | impl Unpin for B where Wrapper<Inner>: Unpin {} //~ ERROR E0277
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ within `Inner`, the trait `Unpin` is not implemented for `PhantomPinned`
|
||||
|
|
||||
= note: consider using `Box::pin`
|
||||
note: required because it appears within the type `Inner`
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:30:12
|
||||
|
|
||||
30 | struct Inner(PhantomPinned);
|
||||
| ^^^^^
|
||||
note: required because of the requirements on the impl of `Unpin` for `inner::Wrapper<Inner>`
|
||||
--> tests/ui/unstable-features/trivial_bounds-feature-gate.rs:38:13
|
||||
|
|
||||
38 | impl<T> Unpin for Wrapper<T> where T: Unpin {}
|
||||
| ^^^^^ ^^^^^^^^^^
|
||||
= help: see issue #48214
|
||||
= help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
|
||||
38
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/trivial_bounds.rs
vendored
Normal file
38
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/trivial_bounds.rs
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
// Note: If you change this test, change 'trivial_bounds-feature-gate.rs' at the same time.
|
||||
|
||||
// trivial_bounds
|
||||
// Tracking issue: https://github.com/rust-lang/rust/issues/48214
|
||||
#![feature(trivial_bounds)]
|
||||
#![deny(trivial_bounds)]
|
||||
|
||||
use std::marker::{PhantomData, PhantomPinned};
|
||||
|
||||
fn inner() {
|
||||
struct Inner(PhantomPinned);
|
||||
|
||||
struct A(PhantomPinned);
|
||||
|
||||
impl Unpin for A where PhantomPinned: Unpin {} //~ ERROR Unpin does not depend on any type or lifetime parameters
|
||||
|
||||
struct B(Inner);
|
||||
|
||||
impl Unpin for B where Inner: Unpin {} //~ ERROR Unpin does not depend on any type or lifetime parameters
|
||||
|
||||
struct Wrapper<T>(T);
|
||||
|
||||
impl<T> Unpin for Wrapper<T> where T: Unpin {}
|
||||
|
||||
struct C(Inner);
|
||||
|
||||
impl Unpin for C where Wrapper<Inner>: Unpin {} //~ ERROR Unpin does not depend on any type or lifetime parameters
|
||||
|
||||
struct WrapperWithLifetime<'a, T>(PhantomData<&'a ()>, T);
|
||||
|
||||
impl<T> Unpin for WrapperWithLifetime<'_, T> where T: Unpin {}
|
||||
|
||||
struct D(Inner);
|
||||
|
||||
impl<'a> Unpin for D where WrapperWithLifetime<'a, Inner>: Unpin {} // Ok
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/trivial_bounds.stderr
vendored
Normal file
23
clamav/libclamav_rust/.cargo/vendor/pin-project/tests/ui/unstable-features/trivial_bounds.stderr
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
error: trait bound PhantomPinned: Unpin does not depend on any type or lifetime parameters
|
||||
--> tests/ui/unstable-features/trivial_bounds.rs:15:43
|
||||
|
|
||||
15 | impl Unpin for A where PhantomPinned: Unpin {} //~ ERROR Unpin does not depend on any type or lifetime parameters
|
||||
| ^^^^^
|
||||
|
|
||||
note: the lint level is defined here
|
||||
--> tests/ui/unstable-features/trivial_bounds.rs:6:9
|
||||
|
|
||||
6 | #![deny(trivial_bounds)]
|
||||
| ^^^^^^^^^^^^^^
|
||||
|
||||
error: trait bound Inner: Unpin does not depend on any type or lifetime parameters
|
||||
--> tests/ui/unstable-features/trivial_bounds.rs:19:35
|
||||
|
|
||||
19 | impl Unpin for B where Inner: Unpin {} //~ ERROR Unpin does not depend on any type or lifetime parameters
|
||||
| ^^^^^
|
||||
|
||||
error: trait bound Wrapper<Inner>: Unpin does not depend on any type or lifetime parameters
|
||||
--> tests/ui/unstable-features/trivial_bounds.rs:27:44
|
||||
|
|
||||
27 | impl Unpin for C where Wrapper<Inner>: Unpin {} //~ ERROR Unpin does not depend on any type or lifetime parameters
|
||||
| ^^^^^
|
||||
Reference in New Issue
Block a user