pub struct Symbol { /* private fields */ }
Expand description

A trait representing the resolution of a symbol in a file.

This trait is yielded as a trait object to the closure given to the backtrace::resolve function, and it is virtually dispatched as it’s unknown which implementation is behind it.

A symbol can give contextual information about a function, for example the name, filename, line number, precise address, etc. Not all information is always available in a symbol, however, so all methods return an Option.

Implementations

Returns the name of this function.

The returned structure can be used to query various properties about the symbol name:

  • The Display implementation will print out the demangled symbol.
  • The raw str value of the symbol can be accessed (if it’s valid utf-8).
  • The raw bytes for the symbol name can be accessed.

Returns the starting address of this function.

Returns the raw filename as a slice. This is mainly useful for no_std environments.

Returns the column number for where this symbol is currently executing.

Only gimli currently provides a value here and even then only if filename returns Some, and so it is then consequently subject to similar caveats.

Returns the line number for where this symbol is currently executing.

This return value is typically Some if filename returns Some, and is consequently subject to similar caveats.

Returns the file name where this function was defined.

This is currently only available when libbacktrace or gimli is being used (e.g. unix platforms other) and when a binary is compiled with debuginfo. If neither of these conditions is met then this will likely return None.

Required features

This function requires the std feature of the backtrace crate to be enabled, and the std feature is enabled by default.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.