ra-jit

Edit Rust. See it change in milliseconds, in the program that is already running.

nix run github:indexable-inc/ra-jit

What you get

How fast

Edit one function, then build. 200-crate workspace, median of three.

Editcargora-jit
Function in the main crate1.76 s0.42 s
Function in a crate everything depends on6.33 s0.60 s

Try it

nix run github:indexable-inc/ra-jit -- build

Use it as your normal cargo build

nix profile install github:indexable-inc/ra-jit
ra-jit enable

Plain cargo build, run, test and check then go through ra-jit. ra-jit disable undoes it.

Live edits

ra-jit-live = { git = "https://github.com/indexable-inc/ra-jit" }
let mut live = ra_jit_live::Live::start().ok();
loop {
    if let Some(outcome) = live.as_mut().and_then(|it| it.poll()) {
        eprintln!("ra-jit: {outcome}");
    }
    // ...your frame
}

What to know

More: how it works, full results, what is supported, GitHub.

Credits

Built on rustd (DioxusLabs), which it forked, and on rust-analyzer. Not endorsed by either. Made at ix for den's native app. MIT or Apache-2.0.