2021-12-23 21:17:33 +00:00
error[E0277]: `*mut pyo3::Python<'static>` cannot be shared between threads safely
2022-11-04 04:29:23 +00:00
--> tests/ui/not_send.rs:4:22
|
4 | py.allow_threads(|| { drop(py); });
| ------------- ^^^^^^^^^^^^^^^^ `*mut pyo3::Python<'static>` cannot be shared between threads safely
| |
| required by a bound introduced by this call
|
2024-03-22 20:43:23 +00:00
= help: within `pyo3::Python<'_>`, the trait `Sync` is not implemented for `*mut pyo3::Python<'static>`, which is required by `{closure@$DIR/tests/ui/not_send.rs:4:22: 4:24}: Ungil`
2024-02-08 21:13:58 +00:00
note: required because it appears within the type `PhantomData<*mut pyo3::Python<'static>>`
2023-07-14 09:28:17 +00:00
--> $RUST/core/src/marker.rs
|
| pub struct PhantomData<T: ?Sized>;
| ^^^^^^^^^^^
2024-02-08 21:13:58 +00:00
note: required because it appears within the type `impl_::not_send::NotSend`
2023-07-14 09:28:17 +00:00
--> src/impl_/not_send.rs
|
| pub(crate) struct NotSend(PhantomData<*mut Python<'static>>);
| ^^^^^^^
2024-02-08 21:13:58 +00:00
= note: required because it appears within the type `(&pyo3::gil::GILGuard, impl_::not_send::NotSend)`
note: required because it appears within the type `PhantomData<(&pyo3::gil::GILGuard, impl_::not_send::NotSend)>`
2023-07-14 09:28:17 +00:00
--> $RUST/core/src/marker.rs
|
| pub struct PhantomData<T: ?Sized>;
| ^^^^^^^^^^^
2024-02-08 21:13:58 +00:00
note: required because it appears within the type `pyo3::Python<'_>`
2023-07-14 09:28:17 +00:00
--> src/marker.rs
|
| pub struct Python<'py>(PhantomData<(&'py GILGuard, NotSend)>);
| ^^^^^^
2022-11-04 04:29:23 +00:00
= note: required for `&pyo3::Python<'_>` to implement `Send`
2022-08-12 06:26:29 +00:00
note: required because it's used within this closure
2022-11-04 04:29:23 +00:00
--> tests/ui/not_send.rs:4:22
|
4 | py.allow_threads(|| { drop(py); });
| ^^
2023-11-16 16:06:01 +00:00
= note: required for `{closure@$DIR/tests/ui/not_send.rs:4:22: 4:24}` to implement `Ungil`
2022-01-13 21:25:23 +00:00
note: required by a bound in `pyo3::Python::<'py>::allow_threads`
2022-11-04 04:29:23 +00:00
--> src/marker.rs
|
2023-07-14 09:28:17 +00:00
| pub fn allow_threads<T, F>(self, f: F) -> T
| ------------- required by a bound in this associated function
| where
2022-11-04 04:29:23 +00:00
| F: Ungil + FnOnce() -> T,
2023-03-09 23:41:26 +00:00
| ^^^^^ required by this bound in `Python::<'py>::allow_threads`