pyo3_ffi/cpython/
dictobject.rs1#[cfg(not(GraalPy))]
2use crate::object::*;
3#[cfg(not(any(PyPy, GraalPy)))]
4use crate::pyport::Py_ssize_t;
5
6#[cfg(not(PyPy))]
7opaque_struct!(pub PyDictKeysObject);
8
9#[cfg(Py_3_11)]
10#[cfg(not(PyPy))]
11opaque_struct!(pub PyDictValues);
12
13#[cfg(not(any(GraalPy, PyPy)))]
14#[repr(C)]
15#[derive(Debug)]
16pub struct PyDictObject {
17 pub ob_base: PyObject,
18 pub ma_used: Py_ssize_t,
19 #[cfg_attr(
20 Py_3_12,
21 deprecated(note = "Deprecated in Python 3.12 and will be removed in the future.")
22 )]
23 #[cfg(not(Py_3_14))]
24 pub ma_version_tag: u64,
25 #[cfg(Py_3_14)]
26 _ma_watcher_tag: u64,
27 pub ma_keys: *mut PyDictKeysObject,
28 #[cfg(not(Py_3_11))]
29 pub ma_values: *mut *mut PyObject,
30 #[cfg(Py_3_11)]
31 pub ma_values: *mut PyDictValues,
32}
33
34#[cfg(PyPy)]
35#[repr(C)]
36#[derive(Debug)]
37pub struct PyDictObject {
38 pub ob_base: PyObject,
39 _tmpkeys: *mut PyObject,
40}
41
42