simplify abort_unwind
Co-authored-by: David Tolnay <dtolnay@gmail.com>
This commit is contained in:
parent
7e7ccb25b4
commit
42a44a04ee
1 changed files with 2 additions and 7 deletions
|
@ -160,14 +160,9 @@ pub macro unreachable_2021 {
|
||||||
/// to prevent unwinds. However, note that `extern "C" fn` will automatically
|
/// to prevent unwinds. However, note that `extern "C" fn` will automatically
|
||||||
/// convert unwinds to aborts, so using this function isn't necessary for FFI.
|
/// convert unwinds to aborts, so using this function isn't necessary for FFI.
|
||||||
#[unstable(feature = "abort_unwind", issue = "130338")]
|
#[unstable(feature = "abort_unwind", issue = "130338")]
|
||||||
|
#[rustc_nounwind]
|
||||||
pub fn abort_unwind<F: FnOnce() -> R, R>(f: F) -> R {
|
pub fn abort_unwind<F: FnOnce() -> R, R>(f: F) -> R {
|
||||||
// This attribute adds the "unwinding out of nounwind function" guard.
|
f()
|
||||||
#[rustc_nounwind]
|
|
||||||
fn abort_unwind_inner<F: FnOnce() -> R, R>(f: F) -> R {
|
|
||||||
f()
|
|
||||||
}
|
|
||||||
|
|
||||||
abort_unwind_inner(f)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// An internal trait used by std to pass data from std to `panic_unwind` and
|
/// An internal trait used by std to pass data from std to `panic_unwind` and
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue