Struct BacktraceFrameFmt

pub struct BacktraceFrameFmt<'fmt, 'a, 'b> { pub(in ::backtrace_rs::print) fmt: &'fmt mut BacktraceFmt<'a, 'b>, pub(in ::backtrace_rs::print) symbol_index: usize }

A formatter for just one frame of a backtrace.

This type is created by the BacktraceFmt::frame function.

Fields

fmt: &'fmt mut BacktraceFmt<'a, 'b>
symbol_index: usize

Implementations

impl BacktraceFrameFmt<'_, '_, '_>

fn symbol(&mut self, frame: &Frame, symbol: &Symbol) -> Result

Prints a raw traced Frame and Symbol, typically from within the raw callbacks of this crate.

fn print_raw(&mut self, frame_ip: *mut c_void, symbol_name: Option<SymbolName<'_>>, filename: Option<BytesOrWideString<'_>>, lineno: Option<u32>) -> Result

Adds a raw frame to the backtrace output.

This method, unlike the previous, takes the raw arguments in case they're being source from different locations. Note that this may be called multiple times for one frame.

fn print_raw_with_column(&mut self, frame_ip: *mut c_void, symbol_name: Option<SymbolName<'_>>, filename: Option<BytesOrWideString<'_>>, lineno: Option<u32>, colno: Option<u32>) -> Result

Adds a raw frame to the backtrace output, including column information.

This method, like the previous, takes the raw arguments in case they're being source from different locations. Note that this may be called multiple times for one frame.

fn print_raw_generic(&mut self, frame_ip: *mut c_void, symbol_name: Option<SymbolName<'_>>, filename: Option<BytesOrWideString<'_>>, lineno: Option<u32>, colno: Option<u32>) -> Result
fn print_fileline(&mut self, file: BytesOrWideString<'_>, line: u32, colno: Option<u32>) -> Result
fn print_raw_fuchsia(&mut self, frame_ip: *mut c_void) -> Result

Trait Implementations

impl Drop for BacktraceFrameFmt<'_, '_, '_>

fn drop(&mut self)

Auto Trait Implementations

impl<'fmt, 'a, 'b> !RefUnwindSafe for BacktraceFrameFmt<'fmt, 'a, 'b>

impl<'fmt, 'a, 'b> !Send for BacktraceFrameFmt<'fmt, 'a, 'b>

impl<'fmt, 'a, 'b> !Sync for BacktraceFrameFmt<'fmt, 'a, 'b>

impl<'fmt, 'a, 'b> !UnwindSafe for BacktraceFrameFmt<'fmt, 'a, 'b>

impl<'fmt, 'a, 'b> Freeze for BacktraceFrameFmt<'fmt, 'a, 'b>

impl<'fmt, 'a, 'b> Unpin for BacktraceFrameFmt<'fmt, 'a, 'b>

impl<'fmt, 'a, 'b> UnsafeUnpin for BacktraceFrameFmt<'fmt, 'a, 'b>

Blanket Implementations

impl<T> Any for BacktraceFrameFmt<'fmt, 'a, 'b> where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for BacktraceFrameFmt<'fmt, 'a, 'b> where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for BacktraceFrameFmt<'fmt, 'a, 'b> where T: ?Sized,

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

impl<T> From<T> for BacktraceFrameFmt<'fmt, 'a, 'b>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for BacktraceFrameFmt<'fmt, 'a, 'b> where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for BacktraceFrameFmt<'fmt, 'a, 'b>

impl<T, U> Into<U> for BacktraceFrameFmt<'fmt, 'a, 'b> where U: From<T>,

fn into(self) -> U

Calls U::from(self).

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

impl<T, U> TryFrom<U> for BacktraceFrameFmt<'fmt, 'a, 'b> where U: Into<T>,

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

impl<T, U> TryInto<U> for BacktraceFrameFmt<'fmt, 'a, 'b> where U: TryFrom<T>,

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