跳到正文

正在自动登录…

← 返回项目列表

indexable-inc/ra-jit

热重载

ra-jit 是一个实验性的 Rust 热重载工具,利用 rust-analyzer 作为编译器前端,通过 Cranelift JIT 实现毫秒级增量编译和运行中程序的实时编辑。适用于希望快速迭代 Rust 代码的开发者,但当前仅支持 Rust 的一个小子集。

AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/20 22:02:02 · 查看原文

普通Rust开发工具
累计 Stars
184
当前热度
未达当前门槛
仓库创建时间
打开 GitHub ↗项目网站 ↗

选用指南

AI 根据 README 整理 · 2026/10/20 22:02:02

使用方式

通过 nix run 或 cargo build 运行,提供命令行界面。

查看 README 依据
# ra-jit Hot-reload Rust in milliseconds, using rust-analyzer as the compiler front end. ``` nix run github:indexable-inc/ra-jit ``` ![Editing the running Game of Life: rule, colours and speed change live](docs/demo.webp) [mp4](docs/demo.mp4) Edit the source on the right and the Game of Life on the left changes on the next frame, with its state intact. A toggle switches to a real `cargo build` per edit for comparison. > [!WARNING]
`nix run` builds each crate as its own Nix derivation from cargo's unit graph, so editing ra-jit doesn't rebuild rust-analyzer or Cranelift. After changing `Cargo.toml` or `Cargo.lock`, regenerate the graph with `python3 tools/unit_graph.py`. Without nix: nightly-2026-07-15 with `rust-src`, then `cargo build --release && ./target/release/ra-jit life`. ## Thanks [rust-analyzer](https://github.com/rust-lang/rust-analyzer) does the hard part (parsing, types, traits, layouts, MIR). [Cranelift](https://cranelift.dev/) generates the code. [egui](https://github.com/emilk/egui) draws the window.
部署要求

需要 Nix 或 Rust nightly-2026-07-15 及 rust-src。

查看 README 依据
`nix run` builds each crate as its own Nix derivation from cargo's unit graph, so editing ra-jit doesn't rebuild rust-analyzer or Cranelift. After changing `Cargo.toml` or `Cargo.lock`, regenerate the graph with `python3 tools/unit_graph.py`. Without nix: nightly-2026-07-15 with `rust-src`, then `cargo build --release && ./target/release/ra-jit life`. ## Thanks [rust-analyzer](https://github.com/rust-lang/rust-analyzer) does the hard part (parsing, types, traits, layouts, MIR). [Cranelift](https://cranelift.dev/) generates the code. [egui](https://github.com/emilk/egui) draws the window.
已知限制

仅支持 rust-analyzer 能降低到 MIR 且 ra-jit 能翻译的 Rust 子集,不支持 dyn、闭包、堆、std/fmt、drop、unwinding 等,且无溢出和边界检查。

查看 README 依据
> **This is an experiment.** It only runs what rust-analyzer can lower to MIR and what ra-jit can translate. Today that is a small subset of Rust: no `dyn`, closures, heap, `std`/`fmt`, drops, unwinding or real `i128`, and no overflow or bounds checks. rust-analyzer has only partial borrow checking, so code rustc rejects may still run here. Keep running `cargo check`; rustc + LLVM stay the compiler for release builds and CI. > [!NOTE]

README

正在加载 README…

收录信息

仓库创建时间
2026/10/20 07:31:09
首次达标收录
2026/10/20 17:57:03
统计更新时间
2026/10/22 19:01:00

按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。

模型评估

普通加权总分 3.2 / 5

新颖度
3.5
实用价值
2.1
成熟度
4.0
实质含量
3.9

由 Jev 模型根据仓库描述与 README 评估,2026/10/20 17:57:03 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。

仓库信息

最近推送
2026/10/22 18:18:43
许可证标识
Apache-2.0
Fork 数
7
当前状态
未归档

收录记录

按创建时长与累计 Stars 首次收录:小火
首次发现项目