🦀 Rust тащат в ядро CPython? Выкатили Pre-PEP, предлагающий внедрить Rust в CPython. При этом речь о том, чтобы сделать наличие тулчейна Rust обязательным требованием для сборки Python уже к версии 3.17. Предлагаемый таймлайн такой: — Python 3.15: Ворнинги при сборке, если нет Rust. — Python 3.16: Ошибка сборки без флага --with-rust=no. — Python 3.17: Rust становится hard dependency. Без него интерпретатор не собрать.

Зачем? Безопасность памяти, меньше сегфолтов, современные структуры данных. И, конечно, No-GIL. С приходом free-threaded Python писать на голом C многопоточный код, который не будет стрелять в ногу segfault-ами и race condition-ами — такое себе. А Rust с его ownership model гарантирует безопасность потоков на уровне компиляции.

➰Главная возможная боль от такого решения — Bootstrapping Loop Чтобы собрать Rust, нужен Python (скрипты сборки). Чтобы собрать Python (в будущем), нужен Rust. Получаем циклическую зависимость: 🐍 -> 🦀 -> 🐍. Решения предлагаются разные: от сборки старым питоном до использования PyPy для бутстрапа.

Вообще, C/C++ проекты (Linux Kernel, Android, Firefox) уже прошли этот путь. Да и 30% новых расширений для Python уже пишутся на Rust. Возможно, это и логичный шаг.