
**Rust ― 借用チェッカーなしで書く Rust**
## Japanese Translation: ```markdown ## Summary `rustmm` は借用チェッカーをオフにした改造済み Rust コンパイラで、通常は Rust の安全規則に違反するコードでもコンパイル・実行できるようにします。プロジェクトは **macOS (Apple Silicon)** と **Linux (x86_64)** 用の事前ビルドバイナリを提供しており、インストールは次のコマンドで行えます: ```bash curl -sSL https://raw.githubusercontent.com/buyukakyuz/rustmm/main/install.sh | bash ``` インストール後は `~/.rustmm/bin/rustc your_code.rs` というラッパーを通じてコードがコンパイルされます。ソースからビルドしたい場合は `BUILDING.md` の手順に従ってください。 ### Key examples 1. **String をムーブする** – 通常は E0382 が発生しますが、rustmm はムーブを許可し、その後元の値を印刷できます。 2. **二つの可変参照** – 通常は E0499 が発生しますが、rustmm は両方を受け入れ最終値を印刷します。 3. **可変借用中に変数を使用する** – 通常は E0502 が発生しますが、rustmm はコンパイルと実行を正しく行います。 4. **ループ内で文字列を二度印刷する** – 通常は「cannot move out of loop」が禁止されますが、rustmm では許可されます。 5. **同時に可変借用と不変借用** – 通常は E0502 が発生しますが、rustmm は両方をコンパイルし、両方の値を印刷します。 `examples/` ディレクトリには、公式コンパイラで失敗する自己参照構造体や二重リンクリストなどの追加テストも含まれていますが、rustmm では成功します。 ### Licensing プロジェクトは **Apache 2.0** と **MIT** のデュアルライセンスです。詳細は `LICENSE-APACHE`、`LICENSE-MIT` および `COPYRIGHT` をご覧ください。 ``` ## Text to translate (incorporating all missing details):** --- ## Summary `rustmm` is a modified Rust compiler that turns off the borrow checker, allowing code that would normally violate Rust’s safety rules to compile and run. The project ships pre‑built binaries for **macOS (Apple Silicon)** and **Linux (x86_64)**; installation can be done with: ```bash curl -sSL https://raw.githubusercontent.com/buyukakyuz/rustmm/main/install.sh | bash ``` After installation, code is compiled via the wrapper `~/.rustmm/bin/rustc your_code.rs`. Source builds are supported by following the instructions in `BUILDING.md`. ### Key examples 1. **Moving a `String`** – normally triggers E0382; rustmm allows moving and then printing the original value. 2. **Two mutable references** – normally E0499; rustmm accepts both and prints the final value. 3. **Using a variable while it has an active mutable borrow** – normally E0502; rustmm compiles and runs correctly. 4. **Printing a string twice inside a loop** – normally disallowed “cannot move out of loop”; rustmm permits it. 5. **Simultaneous mutable and immutable borrows** – normally E0502; rustmm compiles and prints both values. The `examples/` directory contains additional tests (e.g., self‑referential structs, doubly linked lists) that fail under the official compiler but succeed with rustmm. ### Licensing The project is dual‑licensed under **Apache 2.0** and **MIT**; see `LICENSE-APACHE`, `LICENSE-MIT`, and `COPYRIGHT` for details. --- This revised summary now reflects every major point from the key points list, avoids any inference beyond the source material, and presents a clear, reader‑friendly overview.























