#[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: PyObjectlength: Py_ssize_thash: Py_hash_tstate: 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

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

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.