Struct pyo3_ffi::PyASCIIObject
source · [−]#[repr(C)]pub struct PyASCIIObject {
pub ob_base: PyObject,
pub length: Py_ssize_t,
pub hash: Py_hash_t,
pub state: u32,
pub wstr: *mut wchar_t,
}
Fields
ob_base: PyObject
length: Py_ssize_t
hash: Py_hash_t
state: u32
A bit field with various properties.
Rust doesn’t expose bitfields. So we have accessor functions for retrieving values.
unsigned int interned:2; // SSTATE_* constants. unsigned int kind:3; // PyUnicode_*_KIND constants. unsigned int compact:1; unsigned int ascii:1; unsigned int ready:1; unsigned int :24;
wstr: *mut wchar_t
Implementations
sourceimpl PyASCIIObject
impl PyASCIIObject
Interacting with the bitfield is not actually well-defined, so we mark these APIs unsafe.
In addition, they are disabled on big-endian architectures to restrict this to most “common” platforms, which are at least tested on CI and appear to be sound.
Auto Trait Implementations
impl RefUnwindSafe for PyASCIIObject
impl !Send for PyASCIIObject
impl !Sync for PyASCIIObject
impl Unpin for PyASCIIObject
impl UnwindSafe for PyASCIIObject
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more