#[repr(C)]
pub struct PyASCIIObject { pub ob_base: PyObject, pub length: isize, pub hash: isize, pub state: u32, pub wstr: *mut i32, }

Fields

ob_base: PyObjectlength: isizehash: isize
Available on non-PyPy only.
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 i32

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.

Available on little-endian only.
Available on little-endian only.
Available on little-endian only.
Available on little-endian only.
Available on little-endian only.

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.