Struct backtrace::BacktraceFmt[][src]

pub struct BacktraceFmt<'a, 'b> { /* fields omitted */ }

A formatter for backtraces.

This type can be used to print a backtrace regardless of where the backtrace itself comes from. If you have a Backtrace type then its Debug implementation already uses this printing format.

Implementations

impl<'a, 'b> BacktraceFmt<'a, 'b>[src]

pub fn new(
    fmt: &'a mut Formatter<'b>,
    format: PrintFmt,
    print_path: &'a mut (dyn FnMut(&mut Formatter<'_>, BytesOrWideString<'_>) -> Result + 'b)
) -> Self
[src]

Create a new BacktraceFmt which will write output to the provided fmt.

The format argument will control the style in which the backtrace is printed, and the print_path argument will be used to print the BytesOrWideString instances of filenames. This type itself doesn’t do any printing of filenames, but this callback is required to do so.

pub fn add_context(&mut self) -> Result[src]

Prints a preamble for the backtrace about to be printed.

This is required on some platforms for backtraces to be fully sumbolicated later, and otherwise this should just be the first method you call after creating a BacktraceFmt.

pub fn frame(&mut self) -> BacktraceFrameFmt<'_, 'a, 'b>[src]

Adds a frame to the backtrace output.

This commit returns an RAII instance of a BacktraceFrameFmt which can be used to actually print a frame, and on destruction it will increment the frame counter.

pub fn finish(&mut self) -> Result[src]

Completes the backtrace output.

This is currently a no-op but is added for future compatibility with backtrace formats.

Auto Trait Implementations

impl<'a, 'b> !RefUnwindSafe for BacktraceFmt<'a, 'b>

impl<'a, 'b> !Send for BacktraceFmt<'a, 'b>

impl<'a, 'b> !Sync for BacktraceFmt<'a, 'b>

impl<'a, 'b> Unpin for BacktraceFmt<'a, 'b> where
    'b: 'a, 

impl<'a, 'b> !UnwindSafe for BacktraceFmt<'a, 'b>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.