-
Notifications
You must be signed in to change notification settings - Fork 63
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
Bump crucible to get the Const_RefRoots fix. #2107
Conversation
Looking good! Note that the MIR-related test cases in this repo have checked in their MIR JSON files to version control so that the test suite can be ran without needing to install (I'm a bit undecided about whether we want to check in all of the MIR JSON files to version control going forward, but that's the way it's currently done.) In both cases, the most direct solution would be to generate the MIR JSON files. They are located in the following places:
In each location, there should be a |
Bleah, I should have thought of that. After all, I noticed the json files were checked in... (btw there's a third set in the rust tutorial) It occurs to me, also, that being able to diff them after a change like this might be worth the space overhead of including newlines in the output... |
Ah, one last thing: you'll have to update these lines to reflect the new disambiguator values: // Test using fully disambiguated names
-mir_verify m "test/775505e0::id_u8" [] false (id_spec mir_u8) z3;
-mir_verify m "test/775505e0::id_u8[0]" [] false (id_spec mir_u8) z3;
+mir_verify m "test/ff7472fa::id_u8" [] false (id_spec mir_u8) z3;
+mir_verify m "test/ff7472fa::id_u8[0]" [] false (id_spec mir_u8) z3; |
(these are the only way to refer to certain objects and rustc itself has no reason to care about whether the numbers are stable, so they aren't very)
I have done so. I wouldn't have thought this would have changed much of anything here, though. So I have investigated, which may or may not have been worthwhile; the change from 775505e0 to ff7472fa covers the whole compilation and isn't particularly interesting. What's different though is that the original has two extra copies of |
tl;dr These changes are benign.
In more concrete terms: before this PR, fn test/775505e0::id_array[0](_1 : [u32; 5]) -> [u32; 5] {
let mut _0 : [u32; 5];
bb0: {
_0 = use(_1);
return;
}
}
fn test/775505e0::id_array[0]::{constant#0}[0]() -> usize {
let mut _0 : usize;
bb0: {
_0 = use(5);
return;
}
}
fn test/775505e0::id_array[0]::{constant#1}[0]() -> usize {
let mut _0 : usize;
bb0: {
_0 = use(5);
return;
}
} I believe After this PR, however, neither As for why that commit changes the MIR JSON output: GaloisInc/mir-json#56 causes |
Good to know, thanks. So I think we can go ahead here... |
Includes the test from the issue.
Fixes #2064.