-
Notifications
You must be signed in to change notification settings - Fork 360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prep miri repository for rustc merger #258
Conversation
I'd expect it to be a subdirectory of |
Now I hope git will be able to do a rebase of my validation branch across these renames properly... rebasing around memory.rs changes has already been enough "fun"^^ |
git should normally simply skip over such things. |
sgtm How are we going to run miri's tests? Without fullmir, most tests will fail. But last time I tried to get full mir into nightly that got turned down due to a 5MB increase in binary size. For testing I though we could introduce a new (obviously unstable) attribute, which triggers miri to try to run the |
Is there a description of the high-level plan somewhere? Right now I have no idea how things are supposed to be organized after the merge. |
There's some info here: #105
If I get my attribute, you can just trigger the attribute via some Otherwise, we keep cargo miri here and access the miri library via |
also: is it fine for a module of a rustc crate to be Apache/MIT dual licensed? |
I read this a while ago, but it doesn't actually make any concrete plans, does it? The "rls vs clippy way" is not answered, for example.
That would however not execute these tests when the in-tree miri gets changed... |
yes see rust-lang/rust#43340
you'll have to rebase one repository less ;)
yes, has been approved in #105
I simply moved miri to |
i know, might be necessary at first. But if MIR-only libs come, everything should work inside rustc again. |
I'd prefer if we could avoid that. However, it seems that would require building libstd twice as part of Rust testing? Once for the release artifact, once with MIR? Hm. :/ |
we already do that for the stages... maybe we could generate stage 1 with full MIR and stage 2 without. And run miri tests only in stage 1. |
Hm, interesting. Depending on how my mir-validation stuff gets merged, that may also be another flag that at least some miri tests want to have turned on -- to run the "types as contracts" test suite. (I planned for that to be a thing in miri only, and just use xargo to build libstd with this flag. This merger makings things more... interesting.^^) |
In principle another option would be to have the rust test suite "trigger" another test suite running elsewhere, which the fetches the newly produced release artifacts, uses xargo to build libstd, and runs the tests. Not sure if that can be integrated into rust's test suite though, to make it so that bors fails if this external test suite fails. |
That sounds very complex and prone to failure. |
I just rebased this PR onto the current master. git resolved everything (correctly!) without requiring intervention by me. I'd wager that this'll also work the other way around. |
c1ee928
to
f27f749
Compare
everything's now in |
15ec7da
to
3112c99
Compare
This pretty much entirely broke using vscode with miri :( "cargo build --all" and "cargo test --all" in the root folder really should work. |
@RalfJung I'd expect that'd be fixed after the partial move to rust-lang/rust. |
I have a branch ready that should fix all such problems, since it does the partial move within this repo |
You have a link? I was about to prep a PR that makes miri a workspace. Building already works, but I am still working on getting the tests passing again. (Btw, there is a stale Cargo.lock in the root, and there is no Cargo.lock in the actual sources any more.) |
Just run vscode from the miri directory |
The trouble is, then it does not show the tests in the left. |
Not sure what you mean. I moved the tests into |
Just an initial step, nothing removed yet, even the miri executable is moved along
r? @eddyb
can I have
libmiri
or does it really need to belibrustc_miri
?