-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Refactor the abi handling code a bit #79067
Conversation
r? @lcnr (rust_highfive has picked a reviewer for you, use r? to override) |
c75dd3f
to
c4aa9d9
Compare
9a81fa8
to
0c7827f
Compare
I mixed up the |
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.
Most of this looks good to me but don't know enough about this.
Really like the commit structure ❤️
r? @nagisa maybe
forgot that bors ignores review comments |
☔ The latest upstream changes (presumably #79106) made this pull request unmergeable. Please resolve the merge conflicts. Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:
|
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.
I only have concerns with the last commit. The arguments they take are &Value
(i.e. must be valid pointers to a Value
by construction) and the crash mentioned in the commit was more likely a downcast assertion, rather than a genuine memory safety problem.
The rest LGTM
Both flags are mutually exclusive
Dropped that commit |
adc1c7e
to
a833e6a
Compare
r=me with db6aa9f squashed away. |
This makes it clearer that only PassMode::Indirect allows ByVal
It is applied exactly when the return value has an indirect pass mode. Except for InReg on x86 fastcall, arg attrs are now only used for optimization purposes and thus are fine to ignore.
@bors r=nagisa |
📌 Commit 43968aa has been approved by |
Rollup of 8 pull requests Successful merges: - rust-lang#77844 (clarify rules for ZST Boxes) - rust-lang#79067 (Refactor the abi handling code a bit) - rust-lang#79182 (Fix links to extern types in rustdoc (fixes rust-lang#78777)) - rust-lang#79231 (Exhaustively match in variant count instrinsic) - rust-lang#79238 (Direct RUSTC_LOG (tracing/log) output to stderr instead of stdout.) - rust-lang#79256 (Fix typos) - rust-lang#79264 (Get rid of some doctree items) - rust-lang#79272 (Support building clone shims for arrays with generic size) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
I am not quite sure if all changes are improvements.