TL;DR
A fork of the Rust compiler called rustmm removes the borrow checker, allowing programs that would normally be rejected by Rust's borrow rules to compile and run. The project provides pre-built macOS (Apple Silicon) and Linux (x86_64) binaries, an install script, and example programs that demonstrate previously rejected patterns running successfully.
What happened
A GitHub repository named rustmm (buyukakyuz/rustmm) offers a modified Rust compiler in which the borrow checker has been disabled. The project is presented as a fork of rust-lang/rust and includes pre-built binaries for macOS (Apple Silicon) and Linux (x86_64) plus an installation script that installs the compiler under ~/.rustmm/bin/rustc. The repository contains an examples/ directory with a set of test programs that illustrate patterns rejected by standard Rust — including move-after-use, multiple mutable borrows, mutable borrow then move, use-after-move in a loop, self-referential structs, conflicting borrows and a doubly linked list — each labeled with the corresponding error codes that would occur in normal Rust. The README points to BUILDING.md for building from source. The code is distributed under the same dual Apache-2.0 and MIT licensing used by upstream Rust.
Why it matters
- The project removes Rust's compile-time enforcement of borrowing rules by disabling the borrow checker, changing the compiler's acceptance criteria.
- It makes patterns that standard Rust rejects compile and run, which can be useful for experimentation and comparing behavior before/after borrow checks.
- Pre-built binaries and an install script lower the barrier to trying the modified compiler without building from source.
- Dual licensing matches upstream Rust's licensing, making redistribution governed by the same terms as Rust's official distribution.
Key facts
- Repository: buyukakyuz/rustmm on GitHub, a fork of rust-lang/rust.
- Project description: a modified Rust compiler with the borrow checker disabled.
- Install: pre-built macOS (Apple Silicon) and Linux (x86_64) binaries available; install script provided via curl to install under ~/.rustmm.
- Usage: the README shows running the modified compiler as ~/.rustmm/bin/rustc your_code.rs.
- Build from source: see BUILDING.md in the repository for build instructions.
- Examples: examples/ contains test cases labeled 01_move_then_use.rs through 07_doubly_linked.rs that demonstrate code compiling in rustmm but failing under standard Rust (errors such as E0382, E0499, E0502, E0597, E0506 are referenced).
- License: dual licensed under Apache 2.0 and MIT, same as upstream Rust; LICENSE-APACHE and LICENSE-MIT files are included.
- Repository metadata: the fork shows a recent commit message 'doubly linked list in rust is so easy' and metadata indicating the branch is 15 commits ahead and 150 commits behind rust-lang/rust:main.
- Community markers shown in the repo view: 95 stars and 2 forks (as displayed in the source).
What to watch next
- Whether the project will be kept in sync with upstream rust-lang/rust or receive regular maintenance: not confirmed in the source
- Discussion and community reaction around safety and use cases for a compiler without the borrow checker: not confirmed in the source
- Any documentation, tooling, or runtime checks added to mitigate risks from disabling the borrow checker: not confirmed in the source
Quick glossary
- Borrow checker: A component of the Rust compiler that enforces rules about references, ownership, and lifetimes at compile time to prevent certain classes of memory errors.
- Move semantics: A language mechanism where ownership of a value is transferred (moved) from one variable to another, after which the previous owner is typically no longer usable.
- Mutable reference (&mut): A reference that allows changing the value it points to; Rust normally enforces unique mutable access to prevent data races and aliasing errors.
- Fork (repository): A copy of a repository made on a version-control hosting service that allows independent development separate from the original upstream project.
- Dual license (Apache-2.0 / MIT): A licensing approach where the code is offered under two licenses and users may choose which license to accept for redistribution or use.
Reader FAQ
What is rustmm?
It is a forked Rust compiler (rustmm) in which the borrow checker has been disabled; the repository is buyukakyuz/rustmm on GitHub.
How do I install it?
The README provides a curl-based install script for pre-built macOS (Apple Silicon) and Linux (x86_64) binaries that installs the compiler at ~/.rustmm; exact command is in the repository.
Can I build it from source?
Yes. The repository includes a BUILDING.md file with instructions for building from source.
Is it safe to use in production?
not confirmed in the source
Rust–: Rust without the borrow checker A modified Rust compiler with the borrow checker disabled. This allows code that would normally violate Rust's borrowing rules to compile and run successfully….
Sources
- Rust–: Rust without the borrow checker
- thomcc/ubrustc: Unborrowed Rust Compiler (rustc without …
- Turning off Rust's borrow checker completely (2022)
- Unsafe rust and the borrow checker (multiple mutable …
Related posts
- Datastar Hypermedia Framework: Common Lisp SDK Implementation
- Implementing Hierarchical Navigable Small World (HNSW) Vector Search in PHP
- OpenWorkers: Rust-based self-hosted runtime for Cloudflare Workers