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 |
|
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.
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.