Author: GalaxySnail
Created at: 2025-11-18 08:30
Number: 74
Clean content: If python cannot be built without rust in the future, I believe the difficulties this would bring to bootstrapping are being underestimated. Python is such a widely used programming language that many projects have started to use python during the build stage. For example, glibc and gcc require python to build ( https://github.com/fosslinux/live-bootstrap/commit/69fdc27d64ec56ad59b83b99aab0747c9d9f81ed ). If python depends on rust, it would mean that all projects using the meson build system would also need rust to bootstrap (I know muon can be a replacement, but muon isn’t 100% compatible with meson). The live-bootstrap project has already completed the bootstrap of python, and it currently requires a total of 11 builds to obtain CPython 3.11.1, including regenerating all generated code ( https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst#159python-201 ). And even when using mrustc to build rust 1.74.0, it still requires 18 builds to obtain rust 1.91, especially since the time required to build rustc is much longer than CPython. Moreover, rust releases a new version every 6 weeks, so this number will grow quickly. Compilation time is also an issue. Although incremental builds in debug mode may be fast, this is not always possible, for example when doing distribution packaging, when using git bisect , or when debugging bugs that only reproduce in release mode. Currently, a full CPython build is still relatively fast, and I agree that it would be acceptable if the full build time were up to 2x slower. Regarding the previously mentioned issue with os.fork , I am not sure whether using fork in a single-threaded process is safe. If using fork in a single-threaded process would still break rust’s safety guarantees, then os.fork and multiprocessing.get_context("fork") would become completely unusable, and that would break many third-party libraries that depend on it. On the other hand, rust occasionally introduces breaking changes outside of editions, for example https://github.com/rust-lang/rust/issues/127343 , and the potential impact of such risks on CPython should be considered carefully.
