TL;DR

A forked Rust compiler named rustmm has the borrow checker turned off, allowing code that would normally breach Rust's borrowing rules to compile and run. Prebuilt binaries and example programs that demonstrate previously rejected patterns are included in the repository.

What happened

A modified Rust compiler, published as rustmm on GitHub, removes or disables the language's borrow checker so programs that would normally fail Rust's borrow-checking phase can compile and execute. The project provides prebuilt installers for macOS (Apple Silicon) and Linux (x86_64) and a simple install script; users can then invoke the shipped compiler binary at ~/.rustmm/bin/rustc. The repository includes an examples/ directory that contains small programs illustrating cases that standard Rust rejects—such as using moved values, creating multiple mutable references, borrowing mutably then moving, using a moved value inside a loop, and mixing mutable and immutable borrows. The project is a fork of rust-lang/rust and carries the same dual Apache-2.0 and MIT licensing as Rust. Instructions for building from source are available in BUILDING.md in the repository.

Why it matters

  • It removes a core safety enforcement of Rust, allowing code that violates ownership and borrowing rules to run.
  • Provides a way to experiment with code patterns that standard Rust rejects, useful for research or testing compiler behavior.
  • Prebuilt binaries and an install script lower the barrier to trying the modified compiler on supported platforms.
  • The project is distributed under the same dual license as Rust, potentially easing reuse within license constraints.

Key facts

  • Project name on GitHub: rustmm (a fork of rust-lang/rust).
  • The fork disables the borrow checker so code that would normally error on ownership/borrow rules can compile and run.
  • Prebuilt installers are available for macOS (Apple Silicon) and Linux (x86_64) via an install script: curl -sSL https://raw.githubusercontent.com/buyukakyuz/rustmm/main/install.sh | bash
  • After installation the compiler binary is invoked as ~/.rustmm/bin/rustc your_code.rs
  • The repository includes example programs that demonstrate bypassed errors such as E0382, E0499 and E0502.
  • A BUILDING.md file is present for users who want to compile the project from source.
  • The codebase is dual-licensed under Apache-2.0 and MIT, matching Rust's licensing approach.
  • Examples show previously rejected patterns producing output (for instance, printing a moved String twice or creating multiple mutable references).

What to watch next

  • Compatibility of rustmm-built artifacts with the wider Rust ecosystem (crates, tooling): not confirmed in the source
  • Whether the project will be updated to track upstream rust-lang/rust changes or merged upstream: not confirmed in the source
  • Security and safety implications of running code compiled without the borrow checker: not confirmed in the source

Quick glossary

  • Borrow checker: A Rust compiler component that enforces ownership and borrowing rules to prevent data races and other memory-safety errors at compile time.
  • Move semantics: A language behavior where ownership of a value is transferred from one variable to another, after which the original variable may not be used.
  • Mutable borrow: A reference that allows modification of the borrowed value; Rust normally restricts having multiple simultaneous mutable borrows.
  • Fork: A copy of a code repository made to develop changes independently of the original upstream project.
  • Dual license (Apache-2.0 / MIT): A licensing approach that lets downstream users choose between two widely used open-source licenses for compatibility and reuse.

Reader FAQ

What is rustmm?
A modified Rust compiler fork that disables the borrow checker so code violating Rust's borrowing rules can compile and run.

How do I install rustmm?
The repository offers an install script for macOS (Apple Silicon) and Linux (x86_64): curl -sSL https://raw.githubusercontent.com/buyukakyuz/rustmm/main/install.sh | bash

Can I build it from source?
Yes. The repository contains a BUILDING.md with instructions for building from source.

Is this an official Rust compiler release?
not confirmed in the source

Does the project use the same license as Rust?
Yes. The project is dual licensed under Apache-2.0 and MIT, the same approach used by Rust.

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

Related posts

By

Leave a Reply

Your email address will not be published. Required fields are marked *