-
Notifications
You must be signed in to change notification settings - Fork 97
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
Upgrade rust toolchain to nightly-2023-06-20 #2551
Conversation
This PR fixes a few flaky tests that started to fail in the ongoing toolchain update (#2551) - The object bits test itself doesn't create that many objects since an array is represented as the same allocated object. Use LinkedList instead. - Do not rely on property number. - Do not rely on the order that failed checks is printed.
c9a43ca
to
8b3ed9e
Compare
- Still need to clean regression
- We were crashing while compiling the standard library
Use u8 instead of i8 for now and add a performance test to capture this issue.
8b3ed9e
to
8ef1847
Compare
For the |
Co-authored-by: Adrian Palacios <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @celinval for this huge effort!
The situation with the duplicate checks is not ideal (will be confusing for users and may be downgrading performance), but we can improve it later.
Yeah, sorry about that. The problem already existed, and it just got even worse. Fixing it will take a bit of time. Maybe I'll at least disable the redundant Cbmc checks for now, since that's an easy fix. |
Description of changes:
Change Kani's compiler and tests to adapt to changes done to the toolchain. The biggest changes were:
rvalue.rs
instead of intrinsics due to lowering of intrinsics toBinOp
.Here is a list of changes that I found that impacted this upgrade:
c"foo"
literals rust-lang/rust#108801unchecked_div
/_rem
to MIR'sBinOp::Div
/Rem
rust-lang/rust#112168BinOp
s rust-lang/rust#112238tcx.mk_trait_ref
withTraitRef::new
rust-lang/rust#110806EarlyBinder
's inner value private rust-lang/rust#112006rustc_const_eval
rust-lang/rust#111677-
is given as output file rust-lang/rust#111626EarlyBinder::new
->EarlyBinder::bind
rust-lang/rust#112060tcx.mk_re_*
withRegion::new_*
rust-lang/rust#112075&format("...")
calls in error message code. rust-lang/rust#111633Resolved issues:
Resolves #2544
Related RFC:
Optional #ISSUE-NUMBER.
Call-outs:
This is still a draft PR. Before publishing it, I still need to:1. I'll pull a bunch of the tests changes to a separate PR before publishing it.2. This is still BLOCKED by a performance degradation on one of our tests.I created #2576 to track a performance issue caused by this upgrade. I modified the regression test to go around the performance issue and created a new test that still captures the issue and is part of the performance CI job instead.Note: I don't think there is anything complicated to actually implement C string literal support, but decided to keep this simple for now. We would also likely want to add more thorough tests too.
Testing:
How is this change tested?
Is this a refactor change?
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.