pyo3::ffi_ptr_ext

Trait FfiPtrExt

Source
pub(crate) trait FfiPtrExt: Sealed {
    // Required methods
    unsafe fn assume_owned_or_err(
        self,
        py: Python<'_>,
    ) -> PyResult<Bound<'_, PyAny>>;
    unsafe fn assume_owned_or_opt(
        self,
        py: Python<'_>,
    ) -> Option<Bound<'_, PyAny>>;
    unsafe fn assume_owned(self, py: Python<'_>) -> Bound<'_, PyAny>;
    unsafe fn assume_owned_unchecked(self, py: Python<'_>) -> Bound<'_, PyAny>;
    unsafe fn assume_borrowed_or_err<'a>(
        self,
        py: Python<'_>,
    ) -> PyResult<Borrowed<'a, '_, PyAny>>;
    unsafe fn assume_borrowed_or_opt<'a>(
        self,
        py: Python<'_>,
    ) -> Option<Borrowed<'a, '_, PyAny>>;
    unsafe fn assume_borrowed<'a>(
        self,
        py: Python<'_>,
    ) -> Borrowed<'a, '_, PyAny>;
    unsafe fn assume_borrowed_unchecked<'a>(
        self,
        py: Python<'_>,
    ) -> Borrowed<'a, '_, PyAny>;
}

Required Methods§

Source

unsafe fn assume_owned_or_err( self, py: Python<'_>, ) -> PyResult<Bound<'_, PyAny>>

Assumes this pointer carries a Python reference which needs to be decref’d.

If the pointer is NULL, this function will fetch an error.

Source

unsafe fn assume_owned_or_opt(self, py: Python<'_>) -> Option<Bound<'_, PyAny>>

Same as assume_owned_or_err, but doesn’t fetch an error on NULL.

Source

unsafe fn assume_owned(self, py: Python<'_>) -> Bound<'_, PyAny>

Same as assume_owned_or_err, but panics on NULL.

Source

unsafe fn assume_owned_unchecked(self, py: Python<'_>) -> Bound<'_, PyAny>

Same as assume_owned_or_err, but does not check for NULL.

Source

unsafe fn assume_borrowed_or_err<'a>( self, py: Python<'_>, ) -> PyResult<Borrowed<'a, '_, PyAny>>

Assumes this pointer is borrowed from a parent object.

Warning: the lifetime 'a is not bounded by the function arguments; the caller is responsible to ensure this is tied to some appropriate lifetime.

Source

unsafe fn assume_borrowed_or_opt<'a>( self, py: Python<'_>, ) -> Option<Borrowed<'a, '_, PyAny>>

Same as assume_borrowed_or_err, but doesn’t fetch an error on NULL.

Source

unsafe fn assume_borrowed<'a>(self, py: Python<'_>) -> Borrowed<'a, '_, PyAny>

Same as assume_borrowed_or_err, but panics on NULL.

Source

unsafe fn assume_borrowed_unchecked<'a>( self, py: Python<'_>, ) -> Borrowed<'a, '_, PyAny>

Same as assume_borrowed_or_err, but does not check for NULL.

Implementations on Foreign Types§

Source§

impl FfiPtrExt for *mut PyObject

Source§

unsafe fn assume_owned_or_err( self, py: Python<'_>, ) -> PyResult<Bound<'_, PyAny>>

Source§

unsafe fn assume_owned_or_opt(self, py: Python<'_>) -> Option<Bound<'_, PyAny>>

Source§

unsafe fn assume_owned(self, py: Python<'_>) -> Bound<'_, PyAny>

Source§

unsafe fn assume_owned_unchecked(self, py: Python<'_>) -> Bound<'_, PyAny>

Source§

unsafe fn assume_borrowed_or_err<'a>( self, py: Python<'_>, ) -> PyResult<Borrowed<'a, '_, PyAny>>

Source§

unsafe fn assume_borrowed_or_opt<'a>( self, py: Python<'_>, ) -> Option<Borrowed<'a, '_, PyAny>>

Source§

unsafe fn assume_borrowed<'a>(self, py: Python<'_>) -> Borrowed<'a, '_, PyAny>

Source§

unsafe fn assume_borrowed_unchecked<'a>( self, py: Python<'_>, ) -> Borrowed<'a, '_, PyAny>

Implementors§

⚠️ Internal Docs ⚠️ Not Public API 👉 Official Docs Here