rust-lang / miri

An interpreter for Rust's mid-level intermediate representation
Apache License 2.0
4.17k stars 321 forks source link

Ship Miri on stable toolchains #3322

Open RalfJung opened 4 months ago

RalfJung commented 4 months ago

@shepmaster suggested we should ship Miri on stable, and the general reception was positive. What needs to be done to make that happen?

RossSmyth commented 4 months ago

I think a good way to go about the flags would be to do something similar to the other Rust tools. That is to have a toml file for setting config options. I would make it similar to the relationship of cargo and rustc, and only have the toml file read when cargo-miri is used, then also have the -C flags available as well through the miri binary & MIRIFLAGS.

Whether that is miri's own custom toml, or a new table of the cargo.toml (like #2451) I'm not sure.

RalfJung commented 4 months ago

Being able to set Miri's flags from a config file is tracked at https://github.com/rust-lang/miri/issues/2347; I don't think this is blocking or blocked on stabilization. We only have to figure out the names for the flags understood by miri itself here; support in cargo-miri can come later IMO.

RalfJung commented 3 months ago

We are using rustdoc -Zunstable-options to make doctests work (specifically we need --runtool and --test-builder). So it looks like currently, on stable cargo miri would have to skip doctests.