Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions newsfragments/5828.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added FFI wrappers for the following PyUnstable APIs available in Python 3.14: `PyUnstable_Object_IsUniquelyReferenced`, `PyUnstable_Object_IsUniquelyReferencedTemporary`, `PyUnstable_EnableTryIncref`, `PyUnstable_TryIncref`
20 changes: 20 additions & 0 deletions pyo3-ffi/src/cpython/object.rs
Original file line number Diff line number Diff line change
Expand Up @@ -398,3 +398,23 @@ extern "C" {
// skipped PyRefTracer
// skipped PyRefTracer_SetTracer
// skipped PyRefTracer_GetTracer

#[cfg(Py_3_14)]
extern "C" {
// skipped PyUnstable_Object_EnableDeferredRefcount

pub fn PyUnstable_Object_IsUniqueReferencedTemporary(obj: *mut PyObject) -> c_int;

// skipped PyUnstable_IsImmortal

pub fn PyUnstable_TryIncRef(obj: *mut PyObject) -> c_int;

pub fn PyUnstable_EnableTryIncRef(obj: *mut PyObject) -> c_void;

pub fn PyUnstable_Object_IsUniquelyReferenced(op: *mut PyObject) -> c_int;
}

#[cfg(Py_3_15)]
extern "C" {
pub fn PyUnstable_SetImmortal(op: *mut PyObject) -> c_int;
}
Loading