• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1error[E0277]: `*const cxx::void` cannot be sent between threads safely
2  --> tests/ui/opaque_autotraits.rs:13:19
3   |
413 |     assert_send::<ffi::Opaque>();
5   |                   ^^^^^^^^^^^ `*const cxx::void` cannot be sent between threads safely
6   |
7   = help: within `ffi::Opaque`, the trait `Send` is not implemented for `*const cxx::void`
8   = note: required because it appears within the type `[*const void; 0]`
9note: required because it appears within the type `Opaque`
10  --> src/opaque.rs
11   |
12   | pub struct Opaque {
13   |            ^^^^^^
14note: required because it appears within the type `Opaque`
15  --> tests/ui/opaque_autotraits.rs:4:14
16   |
174  |         type Opaque;
18   |              ^^^^^^
19note: required by a bound in `assert_send`
20  --> tests/ui/opaque_autotraits.rs:8:19
21   |
228  | fn assert_send<T: Send>() {}
23   |                   ^^^^ required by this bound in `assert_send`
24
25error[E0277]: `*const cxx::void` cannot be shared between threads safely
26  --> tests/ui/opaque_autotraits.rs:14:19
27   |
2814 |     assert_sync::<ffi::Opaque>();
29   |                   ^^^^^^^^^^^ `*const cxx::void` cannot be shared between threads safely
30   |
31   = help: within `ffi::Opaque`, the trait `Sync` is not implemented for `*const cxx::void`
32   = note: required because it appears within the type `[*const void; 0]`
33note: required because it appears within the type `Opaque`
34  --> src/opaque.rs
35   |
36   | pub struct Opaque {
37   |            ^^^^^^
38note: required because it appears within the type `Opaque`
39  --> tests/ui/opaque_autotraits.rs:4:14
40   |
414  |         type Opaque;
42   |              ^^^^^^
43note: required by a bound in `assert_sync`
44  --> tests/ui/opaque_autotraits.rs:9:19
45   |
469  | fn assert_sync<T: Sync>() {}
47   |                   ^^^^ required by this bound in `assert_sync`
48
49error[E0277]: `PhantomPinned` cannot be unpinned
50  --> tests/ui/opaque_autotraits.rs:15:20
51   |
5215 |     assert_unpin::<ffi::Opaque>();
53   |                    ^^^^^^^^^^^ within `ffi::Opaque`, the trait `Unpin` is not implemented for `PhantomPinned`
54   |
55   = note: consider using the `pin!` macro
56           consider using `Box::pin` if you need to access the pinned value outside of the current scope
57note: required because it appears within the type `PhantomData<PhantomPinned>`
58  --> $RUST/core/src/marker.rs
59   |
60   | pub struct PhantomData<T: ?Sized>;
61   |            ^^^^^^^^^^^
62note: required because it appears within the type `Opaque`
63  --> src/opaque.rs
64   |
65   | pub struct Opaque {
66   |            ^^^^^^
67note: required because it appears within the type `Opaque`
68  --> tests/ui/opaque_autotraits.rs:4:14
69   |
704  |         type Opaque;
71   |              ^^^^^^
72note: required by a bound in `assert_unpin`
73  --> tests/ui/opaque_autotraits.rs:10:20
74   |
7510 | fn assert_unpin<T: Unpin>() {}
76   |                    ^^^^^ required by this bound in `assert_unpin`
77