Late toolchain upgrade to use nightly-2022-08-02#1522
Merged
celinval merged 6 commits intomodel-checking:mainfrom Aug 17, 2022
Merged
Late toolchain upgrade to use nightly-2022-08-02#1522celinval merged 6 commits intomodel-checking:mainfrom
celinval merged 6 commits intomodel-checking:mainfrom
Conversation
Regression is still failing. Related changes: - rust-lang/rust#99420 - rust-lang/rust#99495 - rust-lang/rust#99844 - rust-lang/rust#99058
The compiler has reverted their fix to Opaque types due to performance degradation.
- Add an implementation for vtable_size and vtable_align intrinsics. - Change how we handled Foreign types. Even though they are unsized, a pointer to foreign types are thin pointers.
danielsn
reviewed
Aug 16, 2022
| use std::path::{Path, PathBuf}; | ||
|
|
||
| use rustc_codegen_ssa::back::archive::ArchiveBuilder; | ||
| use rustc_codegen_ssa::back::archive::{ArchiveBuilder, ArchiveBuilderBuilder}; |
Contributor
There was a problem hiding this comment.
| !self.is_unsized(mir_type) || metadata == self.tcx.types.unit | ||
| } | ||
|
|
||
| /// We use fat pointer if not thin pointer. |
Contributor
There was a problem hiding this comment.
Expand this comment to mirror the one above
| } | ||
| } | ||
|
|
||
| pub fn std_pointee_type(mir_type: Ty) -> Option<Ty> { |
Contributor
There was a problem hiding this comment.
What is this function doing?
danielsn
approved these changes
Aug 16, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes:
These are changes related to the toolchain upgrade scheduled for 0.8. They are related to the following upstream changes:
Resolved issues:
Resolves #1474
Call-outs:
Unfortunately, this update took longer than usual and I couldn't finish it on time for 0.8, but I wanted to finish it on time for the next upgrade.
The upgrade uncovered an issue on how we have been handling unsized objects. Not every unsized object is hidden behind a fat pointer, like it was being assumed previously. I had to include a fix as part of this PR. (See the 3rd commit).
I have also uncovered another issue with our casting code while writing tests for the former fix. Since the second isn't a regression, I added a fixme test and I'll create a jira for it.
Testing:
How is this change tested? Old tests + new tests
Is this a refactor change? No
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.