pub trait OnceExt: Sealed {
    // Required methods
    fn call_once_py_attached(&self, py: Python<'_>, f: impl FnOnce());
    fn call_once_force_py_attached(
        &self,
        py: Python<'_>,
        f: impl FnOnce(&OnceState),
    );
}Expand description
Helper trait for Once to help avoid deadlocking when using a Once when attached to a
Python thread.
Required Methods§
Sourcefn call_once_py_attached(&self, py: Python<'_>, f: impl FnOnce())
 
fn call_once_py_attached(&self, py: Python<'_>, f: impl FnOnce())
Similar to call_once, but releases the Python GIL temporarily
if blocking on another thread currently calling this Once.
Sourcefn call_once_force_py_attached(
    &self,
    py: Python<'_>,
    f: impl FnOnce(&OnceState),
)
 
fn call_once_force_py_attached( &self, py: Python<'_>, f: impl FnOnce(&OnceState), )
Similar to call_once_force, but releases the Python GIL
temporarily if blocking on another thread currently calling this Once.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.