In my fork, when running CI tests, against Python 3.14, errors spew in the form of these:
error[E0609]: no field `ob_base` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_weakreflist` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_name` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_qualname` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_exc_state` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_origin_or_finalizer` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_hooks_inited` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_closed` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_running_async` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_frame_state` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `gi_iframe` on type `_PyGenObject`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0609]: no field `_padding` on type `_object`
--> src/main.rs:45:13
|
45 | pyo3_ffi_check_macro::for_all_fields!($name, check_field);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...
70 | pyo3_ffi_check_macro::for_all_structs!(check_struct);
| ---------------------------------------------------- in this macro invocation
|
= note: this error originates in the macro `pyo3_ffi_check_macro::for_all_fields` which comes from the expansion of the macro `pyo3_ffi_check_macro::for_all_structs` (in Nightly builds, run with -Z macro-backtrace for more info)
Any tips derived from adding prior CPython releases would be appreciated.
In my fork, when running CI tests, against Python 3.14, errors spew in the form of these:
Reproducible by running
cargo run --manifest-path=pyo3-ffi-check/Cargo.tomlAny tips derived from adding prior CPython releases would be appreciated.