Rollup merge of #130339 - CAD97:unwind-choice, r=dtolnay
Add `core::panic::abort_unwind` `abort_unwind` is like `catch_unwind` except that it aborts the process if it unwinds, using the `#[rustc_nounwind]` mechanism also used by `extern "C" fn` to abort unwinding. The docs attempt to make it clear when to (rarely) and when not to (usually) use the function. Although usage of the function is discouraged, having it available will help to normalize the experience when abort_unwind shims are hit, as opposed to the current ecosystem where there exist multiple common patterns for converting unwinding into a process abort. For further information and justification, see the linked ACP. - Tracking issue: https://github.com/rust-lang/rust/issues/130338 - ACP: https://github.com/rust-lang/libs-team/issues/441
This commit is contained in:
commit
f0fb411969
2 changed files with 28 additions and 0 deletions
|
@ -283,6 +283,9 @@ where
|
|||
{
|
||||
}
|
||||
|
||||
#[unstable(feature = "abort_unwind", issue = "130338")]
|
||||
pub use core::panic::abort_unwind;
|
||||
|
||||
/// Invokes a closure, capturing the cause of an unwinding panic if one occurs.
|
||||
///
|
||||
/// This function will return `Ok` with the closure's result if the closure
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue