PanicHandler

Struct PanicHandler 

Source
pub struct PanicHandler<W: Write> { /* private fields */ }

Implementations§

Source§

impl<W: Write> PanicHandler<W>

Source

pub fn new(writer: W) -> Pin<Self>

Create a panic handler from a core::fmt::Write

Note that the returned handler is detached when it goes out of scope so in most cases it’s desired to keep the handler in scope for the full duration of the program.

Additionally, the panic handler implements Deref for the provided Write and can be used in place of the original Write throughout the app.

Source

pub fn detach(handler: Pin<Self>) -> W

Detach this panic handler and return the underlying writer

Trait Implementations§

Source§

impl<W: Write> Deref for PanicHandler<W>

Source§

type Target = W

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<W: Write> DerefMut for PanicHandler<W>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<W: Write> Drop for PanicHandler<W>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<W> Freeze for PanicHandler<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for PanicHandler<W>
where W: RefUnwindSafe,

§

impl<W> Send for PanicHandler<W>
where W: Send,

§

impl<W> Sync for PanicHandler<W>
where W: Sync,

§

impl<W> !Unpin for PanicHandler<W>

§

impl<W> UnwindSafe for PanicHandler<W>
where W: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.