diff options
| author | Peter <peter.wilkins@polecat.com> | 2019-12-08 23:16:18 +0000 |
|---|---|---|
| committer | Peter <peter.wilkins@polecat.com> | 2019-12-08 23:49:30 +0000 |
| commit | 8f6a06285efe12d778ff7f44067aebeed7b14428 (patch) | |
| tree | 856b9d17a8e4700c44a2794e63ec75ecf9660397 /src/libstd/panic.rs | |
| parent | 947772fc31b96ce90f57720f74571f14e35df66b (diff) | |
| parent | 59947fcae6a40df12e33af8c8c7291014b7603e0 (diff) | |
| download | rust-8f6a06285efe12d778ff7f44067aebeed7b14428.tar.gz rust-8f6a06285efe12d778ff7f44067aebeed7b14428.zip | |
move from non zero impls to `libcore/convert/num.rs`
Diffstat (limited to 'src/libstd/panic.rs')
| -rw-r--r-- | src/libstd/panic.rs | 45 |
1 files changed, 21 insertions, 24 deletions
diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs index 577673b7e40..ac8e0daf766 100644 --- a/src/libstd/panic.rs +++ b/src/libstd/panic.rs @@ -7,22 +7,21 @@ use crate::cell::UnsafeCell; use crate::collections; use crate::fmt; use crate::future::Future; -use crate::pin::Pin; use crate::ops::{Deref, DerefMut}; use crate::panicking; -use crate::ptr::{Unique, NonNull}; +use crate::pin::Pin; +use crate::ptr::{NonNull, Unique}; use crate::rc::Rc; -use crate::sync::{Arc, Mutex, RwLock}; -#[cfg(not(bootstrap))] use crate::sync::atomic; +use crate::sync::{Arc, Mutex, RwLock}; use crate::task::{Context, Poll}; use crate::thread::Result; #[stable(feature = "panic_hooks", since = "1.10.0")] -pub use crate::panicking::{take_hook, set_hook}; +pub use crate::panicking::{set_hook, take_hook}; #[stable(feature = "panic_hooks", since = "1.10.0")] -pub use core::panic::{PanicInfo, Location}; +pub use core::panic::{Location, PanicInfo}; /// A marker trait which represents "panic safe" types in Rust. /// @@ -104,8 +103,8 @@ pub use core::panic::{PanicInfo, Location}; /// [`AssertUnwindSafe`]: ./struct.AssertUnwindSafe.html #[stable(feature = "catch_unwind", since = "1.9.0")] #[rustc_on_unimplemented( - message="the type `{Self}` may not be safely transferred across an unwind boundary", - label="`{Self}` may not be safely transferred across an unwind boundary", + message = "the type `{Self}` may not be safely transferred across an unwind boundary", + label = "`{Self}` may not be safely transferred across an unwind boundary" )] pub auto trait UnwindSafe {} @@ -122,10 +121,10 @@ pub auto trait UnwindSafe {} /// [`UnwindSafe`]: ./trait.UnwindSafe.html #[stable(feature = "catch_unwind", since = "1.9.0")] #[rustc_on_unimplemented( - message="the type `{Self}` may contain interior mutability and a reference may not be safely \ - transferrable across a catch_unwind boundary", - label="`{Self}` may contain interior mutability and a reference may not be safely \ - transferrable across a catch_unwind boundary", + message = "the type `{Self}` may contain interior mutability and a reference may not be safely \ + transferrable across a catch_unwind boundary", + label = "`{Self}` may contain interior mutability and a reference may not be safely \ + transferrable across a catch_unwind boundary" )] pub auto trait RefUnwindSafe {} @@ -188,10 +187,7 @@ pub auto trait RefUnwindSafe {} /// // ... /// ``` #[stable(feature = "catch_unwind", since = "1.9.0")] -pub struct AssertUnwindSafe<T>( - #[stable(feature = "catch_unwind", since = "1.9.0")] - pub T -); +pub struct AssertUnwindSafe<T>(#[stable(feature = "catch_unwind", since = "1.9.0")] pub T); // Implementations of the `UnwindSafe` trait: // @@ -291,7 +287,12 @@ impl<T> RefUnwindSafe for atomic::AtomicPtr<T> {} // https://github.com/rust-lang/rust/issues/62301 #[stable(feature = "hashbrown", since = "1.36.0")] impl<K, V, S> UnwindSafe for collections::HashMap<K, V, S> - where K: UnwindSafe, V: UnwindSafe, S: UnwindSafe {} +where + K: UnwindSafe, + V: UnwindSafe, + S: UnwindSafe, +{ +} #[stable(feature = "catch_unwind", since = "1.9.0")] impl<T> Deref for AssertUnwindSafe<T> { @@ -321,9 +322,7 @@ impl<R, F: FnOnce() -> R> FnOnce<()> for AssertUnwindSafe<F> { #[stable(feature = "std_debug", since = "1.16.0")] impl<T: fmt::Debug> fmt::Debug for AssertUnwindSafe<T> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_tuple("AssertUnwindSafe") - .field(&self.0) - .finish() + f.debug_tuple("AssertUnwindSafe").field(&self.0).finish() } } @@ -392,9 +391,7 @@ impl<F: Future> Future for AssertUnwindSafe<F> { /// ``` #[stable(feature = "catch_unwind", since = "1.9.0")] pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> { - unsafe { - panicking::r#try(f) - } + unsafe { panicking::r#try(f) } } /// Triggers a panic without invoking the panic hook. @@ -426,5 +423,5 @@ pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> { /// ``` #[stable(feature = "resume_unwind", since = "1.9.0")] pub fn resume_unwind(payload: Box<dyn Any + Send>) -> ! { - panicking::update_count_then_panic(payload) + panicking::rust_panic_without_hook(payload) } |
