Skip to content

Improve the ABI between the panic runtime and libstd - #161048

Merged
rust-bors[bot] merged 5 commits into
rust-lang:mainfrom
bjorn3:refactor_unwind5
Aug 22, 2026
Merged

Improve the ABI between the panic runtime and libstd#161048
rust-bors[bot] merged 5 commits into
rust-lang:mainfrom
bjorn3:refactor_unwind5

Conversation

@bjorn3

@bjorn3 bjorn3 commented Aug 13, 2026

Copy link
Copy Markdown
Member
  • Use the Rust ABI rather than C ABI
  • Mark some extern functions as safe
  • Move PanicPayload from libcore to liballoc and directly reference Box<dyn Any> instead of *mut dyn Any
  • Avoid an unnecessary allocation with panic=abort

Follow up to #160440

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Aug 13, 2026
@rustbot

rustbot commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

r? @clarfonthey

rustbot has assigned @clarfonthey.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: libs
  • libs expanded to 12 candidates
  • Random selection from JohnTitor, Mark-Simulacrum, clarfonthey, nia-e

Comment thread library/alloc/src/panicking.rs Outdated
@rustbot

rustbot commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@bjorn3

bjorn3 commented Aug 14, 2026

Copy link
Copy Markdown
Member Author

#160440 has been merged, so this is ready for review.

@clarfonthey

Copy link
Copy Markdown
Contributor

Looks fairly reasonable to me. Thank you!

@bors r+

@rust-bors

rust-bors Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

📌 Commit ffc65e5 has been approved by clarfonthey

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 21, 2026
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 21, 2026
…they

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to rust-lang#160440
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 21, 2026
…they

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to rust-lang#160440
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 21, 2026
…they

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to rust-lang#160440
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 22, 2026
…they

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to rust-lang#160440
rust-bors Bot pushed a commit that referenced this pull request Aug 22, 2026
…uwer

Rollup of 18 pull requests

Successful merges:

 - #151061 (Build rustc and codegen backends with -Zembed-metadata=no)
 - #157949 (Allow self in const generics)
 - #158588 (trait_selection: fix assumptions-on-binders diagnostics)
 - #159954 (core: implement float conversion methods)
 - #160136 (Add `Default` implementation for `std::sync::Once`)
 - #160835 (resolver diagnostics: don't swallow labels and point out  similar items as a note, not a label)
 - #161048 (Improve the ABI between the panic runtime and libstd)
 - #161292 (Add safety comments in alloc::Wtf8)
 - #161444 (Add some `rustc_type_ir` comments)
 - #161465 (Remove leftover immediate creation)
 - #152433 (Use `symlink_dir` to create junctions on Windows instead of trying to use symbolic links in `copy_link_internal`)
 - #159098 (Add Arc/Rc::strong_count_from_raw)
 - #159282 (Update documentation for `-Zdump-dep-graph`)
 - #161401 (Remove fields from TypeKind: Bool, Char, Float and Int)
 - #161431 (bootstrap: (offload) be stricter about selected compiler and paths)
 - #161451 (Avoid arming the Windows TLS destructor guard in fibers)
 - #161463 (Add myself to mailmap)
 - #161476 (Use bitset for locals_with_use_data)

Failed merges:

 - #161443 (add internal DSL for testing binders)
jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 22, 2026
…they

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to rust-lang#160440
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 22, 2026
…they

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to rust-lang#160440
JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Aug 22, 2026
…they

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to rust-lang#160440
rust-bors Bot pushed a commit that referenced this pull request Aug 22, 2026
…uwer

Rollup of 19 pull requests

Successful merges:

 - #151061 (Build rustc and codegen backends with -Zembed-metadata=no)
 - #154992 (Error on projection of dyn noncompat type in old trait solver)
 - #157949 (Allow self in const generics)
 - #158588 (trait_selection: fix assumptions-on-binders diagnostics)
 - #159954 (core: implement float conversion methods)
 - #160136 (Add `Default` implementation for `std::sync::Once`)
 - #160835 (resolver diagnostics: don't swallow labels and point out  similar items as a note, not a label)
 - #161048 (Improve the ABI between the panic runtime and libstd)
 - #161292 (Add safety comments in alloc::Wtf8)
 - #161444 (Add some `rustc_type_ir` comments)
 - #161465 (Remove leftover immediate creation)
 - #159098 (Add Arc/Rc::strong_count_from_raw)
 - #159282 (Update documentation for `-Zdump-dep-graph`)
 - #161401 (Remove fields from TypeKind: Bool, Char, Float and Int)
 - #161431 (bootstrap: (offload) be stricter about selected compiler and paths)
 - #161451 (Avoid arming the Windows TLS destructor guard in fibers)
 - #161463 (Add myself to mailmap)
 - #161476 (Use bitset for locals_with_use_data)
 - #161483 (Warn about running ui-fulldeps tests in stage 1)

Failed merges:

 - #161443 (add internal DSL for testing binders)
@rust-bors
rust-bors Bot merged commit b0359b2 into rust-lang:main Aug 22, 2026
13 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Aug 22, 2026
rust-bors Bot pushed a commit that referenced this pull request Aug 22, 2026
Rollup merge of #161048 - bjorn3:refactor_unwind5, r=clarfonthey

Improve the ABI between the panic runtime and libstd

* Use the Rust ABI rather than C ABI
* Mark some extern functions as safe
* Move `PanicPayload` from libcore to liballoc and directly reference `Box<dyn Any>` instead of `*mut dyn Any`
* Avoid an unnecessary allocation with panic=abort

Follow up to #160440
@bjorn3
bjorn3 deleted the refactor_unwind5 branch August 22, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants