Author: David Hewitt
Created at: 2025-11-17 20:56
Number: 26
Clean content: emmatyping: On the contrary, it should be much less effort as safe Rust is thread-safe due to the borrow checker. There will need to be some support added to handle integrating attached thread states, but it should be relatively easy. I completely agree with this; my experience of updating Rust code based upon PyO3 to support free-threaded Python has been relatively painless. I would even go further and suggest that Rust for CPython may be able to assist with the implementation of free-threaded Python; if there are current stlib extension modules needing to be updated for PEP 703 which lack maintainers, migrating them to Rust may be a way to bring on new maintainers and get them thread-safe at the same time. emmatyping: We will probably want to abort on panic anyway since unwinding over FFI layers is UB. For what it’s worth, PyO3 has a mechanism for carrying panics as Python exceptions through stack frames, but I would agree that for sake of binary size and simplicity, an abort would be good enough (the Rust panic hook could be configured to call into Python’s existing fatal exit machinery).
