Debugger

Struct Debugger 

Source
pub struct Debugger { /* private fields */ }
Expand description

Main structure of bug-stalker, control debugee state and provides application functionality.

Implementations§

Source§

impl Debugger

Source

pub fn async_backtrace(&mut self) -> Result<AsyncBacktrace, Error>

Source

pub fn async_step_over(&mut self) -> Result<(), Error>

Source

pub fn async_step_out(&mut self) -> Result<(), Error>

Wait for current task ends.

Source§

impl Debugger

Source

pub fn set_breakpoint_at_addr( &mut self, addr: RelocatedAddress, ) -> Result<BreakpointView<'_>, Error>

Create and enable breakpoint at debugee address space

§Arguments
  • addr: address where debugee must be stopped
§Errors

Return [SetupError::PlaceNotFound] if no place found for address, return [BreakpointError::DebugInformation] if errors occur while fetching debug information.

Source

pub fn remove_breakpoint( &mut self, addr: Address, ) -> Result<Option<BreakpointView<'_>>, Error>

Disable and remove a breakpoint by it address.

§Arguments
  • addr: breakpoint address
Source

pub fn remove_breakpoint_by_number( &mut self, number: u32, ) -> Result<Option<BreakpointView<'_>>, Error>

Disable and remove a breakpoint by it number.

§Arguments
  • number: breakpoint number
Source

pub fn remove_breakpoints_at_addresses( &mut self, addresses: impl Iterator<Item = Address>, ) -> Result<Vec<BreakpointView<'_>>, Error>

Remove breakpoint from instruction.

§Arguments
  • addresses: address of instruction where breakpoint may be found.
Source

pub fn set_breakpoint_at_fn( &mut self, template: &str, ) -> Result<Vec<BreakpointView<'_>>, Error>

Create and enable breakpoint at debugee address space on the following function start.

§Arguments
  • template: template for searchin functions where debugee must be stopped
§Errors

Return [SetupError::PlaceNotFound] if function not found, return [BreakpointError::DebugInformation] if errors occur while fetching debug information.

Source

pub fn remove_breakpoint_at_fn( &mut self, template: &str, ) -> Result<Vec<BreakpointView<'_>>, Error>

Disable and remove breakpoint from function start.

§Arguments
  • template: template for searchin functions where breakpoints must be deleted
Source

pub fn set_breakpoint_at_line( &mut self, fine_path_tpl: &str, line: u64, ) -> Result<Vec<BreakpointView<'_>>, Error>

Create and enable breakpoint at the following file and line number.

§Arguments
  • fine_name: file name (ex: “main.rs”)
  • line: line number
§Errors

Return [SetupError::PlaceNotFound] if line or file not exist, return [BreakpointError::DebugInformation] if errors occur while fetching debug information.

Source

pub fn remove_breakpoint_at_line( &mut self, fine_name_tpl: &str, line: u64, ) -> Result<Vec<BreakpointView<'_>>, Error>

Disable and remove breakpoint at the following file and line number.

§Arguments
  • fine_name: file name (ex: “main.rs”)
  • line: line number
Source

pub fn set_transparent_breakpoint( &mut self, request: CreateTransparentBreakpointRequest, ) -> Result<(), Error>

Create and enable transparent breakpoint.

§Arguments
  • request: transparent breakpoint parameters
Source

pub fn breakpoints_snapshot(&self) -> Vec<BreakpointView<'_>>

Return list of breakpoints.

Source

pub fn add_deferred_at_addr(&mut self, addr: RelocatedAddress)

Add new deferred breakpoint by address in debugee address space.

Source

pub fn add_deferred_at_function(&mut self, function: &str)

Add new deferred breakpoint by function name.

Source

pub fn add_deferred_at_line(&mut self, file: &str, line: u64)

Add new deferred breakpoint by file and line.

Source

pub fn refresh_deferred(&mut self) -> Vec<Error>

Refresh deferred breakpoints. Trying to set breakpoint if success - remove breakpoint from a deferred list.

Source§

impl Debugger

Source

pub fn call( &mut self, fn_name: &str, arguments: &[Literal], ) -> Result<(), Error>

Do a function call.

§Arguments
  • fn_name: function to call.
  • arguments: list of literals.
Source§

impl Debugger

Source

pub fn set_watchpoint_on_expr( &mut self, expr_source: &str, dqe: Dqe, condition: BreakCondition, ) -> Result<WatchpointView<'_>, Error>

Set a new watchpoint on a result of DQE.

§Arguments
  • expr_source: expression string
  • dqe: DQE
  • condition: condition for activating a watchpoint
Source

pub fn set_watchpoint_on_memory( &mut self, addr: RelocatedAddress, size: BreakSize, condition: BreakCondition, temporary: bool, ) -> Result<WatchpointView<'_>, Error>

Set a new watchpoint on a memory location

§Arguments
  • addr: address in debugee memory
  • size: size of debugee memory location
  • condition: condition for activating a watchpoint
Source

pub fn remove_watchpoint_by_number( &mut self, num: u32, ) -> Result<Option<WatchpointView<'_>>, Error>

Remove watchpoint by its number

§Arguments
  • num: watchpoint number
Source

pub fn remove_watchpoint_by_addr( &mut self, addr: RelocatedAddress, ) -> Result<Option<WatchpointView<'_>>, Error>

Remove watchpoint by observed address in debugee memory.

§Arguments
  • addr: address in debugee memory
Source

pub fn remove_watchpoint_by_expr( &mut self, dqe: Dqe, ) -> Result<Option<WatchpointView<'_>>, Error>

Remove watchpoint by DQE, which result observed.

§Arguments
  • dqe: DQE
Source

pub fn watchpoint_list(&self) -> Vec<WatchpointView<'_>>

Return a list of all watchpoints.

Source§

impl Debugger

Source

pub fn get_oracle(&self, name: &str) -> Option<&dyn Oracle>

Return installed oracle, or None if oracle not found or not installed.

§Arguments
  • name: oracle name
Source

pub fn get_oracle_arc(&self, name: &str) -> Option<Arc<dyn Oracle>>

Same as get_oracle but return an Arc<dyn Oracle>

Source

pub fn all_oracles(&self) -> impl Iterator<Item = &dyn Oracle>

Return all oracles.

Source

pub fn all_oracles_arc(&self) -> impl Iterator<Item = Arc<dyn Oracle>> + '_

Same as all_oracles but return iterator over Arc<dyn Oracle>

Source

pub fn process(&self) -> &Child<Installed>

Source

pub fn set_hook(&mut self, hooks: impl EventHook + 'static)

Source

pub fn ecx(&self) -> &ExplorationContext

Return last set exploration context.

Source

pub fn restart_debugee(&mut self) -> Result<Pid, Error>

Restart debugee by recreating debugee process, save all user-defined breakpoints. Return when new debugee stopped or ends.

! change exploration context

Source

pub fn start_debugee(&mut self) -> Result<(), Error>

Start and execute debugee. Return when debugee stopped or ends.

§Errors

Return error if debugee already run or execution fails.

Source

pub fn start_debugee_force(&mut self) -> Result<(), Error>

Start and execute debugee. Restart if debugee already started. Return when debugee stopped or ends.

Source

pub fn dry_start_debugee(&mut self) -> Result<(), Error>

Dry start debugee. Return immediately.

§Errors

Return error if debugee already runs.

Source

pub fn continue_debugee(&mut self) -> Result<(), Error>

Continue debugee execution.

Source

pub fn get_symbols(&self, regex: &str) -> Result<Vec<Symbol<'_>>, Error>

Return list of symbols matching regular expression.

§Arguments
  • regex: regular expression
Source

pub fn frame_info(&self) -> Result<FrameInfo, Error>

Return in focus frame information.

Source

pub fn set_frame_into_focus(&mut self, num: u32) -> Result<u32, Error>

Set new frame into focus.

§Arguments
  • num: frame number in backtrace
Source

pub fn step_into(&mut self) -> Result<(), Error>

Do a single step (until debugee reaches a different source line).

! change exploration context

Source

pub fn stepi(&mut self) -> Result<(), Error>

Move in focus thread to the next instruction.

! change exploration context

Source

pub fn thread_state(&self) -> Result<Vec<ThreadSnapshot>, Error>

Return list of currently running debugee threads.

Source

pub fn set_thread_into_focus(&mut self, num: u32) -> Result<Tracee, Error>

Sets the thread into focus.

§Arguments
  • num: thread number
Source

pub fn backtrace(&self, pid: Pid) -> Result<Backtrace, Error>

Return stack trace.

§Arguments
  • pid: thread id
Source

pub fn read_memory(&self, addr: usize, read_n: usize) -> Result<Vec<u8>, Error>

Read N bytes from a debugee process.

§Arguments
  • addr: address in debugee address space where reads
  • read_n: read byte count
Source

pub fn write_memory( &self, addr: uintptr_t, value: uintptr_t, ) -> Result<(), Error>

Write sizeof(uintptr_t) bytes in debugee address space. Note that little endian byte order will be used when writing.

§Arguments
  • addr: address to write
  • value: value to write
Source

pub fn step_out(&mut self) -> Result<(), Error>

Move to higher stack frame.

Source

pub fn step_over(&mut self) -> Result<(), Error>

Do debugee step (over subroutine calls to).

Source

pub fn read_local_variables(&self) -> Result<Vec<QueryResult<'_>>, Error>

Reads all local variables from current function in current thread.

Source

pub fn read_variable( &self, select_expr: Dqe, ) -> Result<Vec<QueryResult<'_>>, Error>

Reads any variable from the current thread, uses a select expression to filter variables and fetch their properties (such as structure fields or array elements).

§Arguments
  • select_expr: data query expression
Source

pub fn read_variable_names( &self, select_expr: Dqe, ) -> Result<Vec<String>, Error>

Reads any variable from the current thread, uses a select expression to filter variables and return their names.

§Arguments
  • select_expr: data query expression
Source

pub fn read_argument( &self, select_expr: Dqe, ) -> Result<Vec<QueryResult<'_>>, Error>

Reads any argument from the current function, uses a select expression to filter variables and fetch their properties (such as structure fields or array elements).

§Arguments
  • select_expr: data query expression
Source

pub fn read_argument_names( &self, select_expr: Dqe, ) -> Result<Vec<String>, Error>

Reads any argument from the current function, uses a select expression to filter arguments and return their names.

§Arguments
  • select_expr: data query expression
Source

pub fn get_register_value(&self, register_name: &str) -> Result<u64, Error>

Return following register value.

§Arguments
  • register_name: x86-64 register name (ex: rip)
Source

pub fn current_thread_registers_at_pc( &self, pc: RelocatedAddress, ) -> Result<DwarfRegisterMap, Error>

Return registers dump for on focus thread at instruction defined by pc.

§Arguments
  • pc: program counter value
Source

pub fn set_register_value( &self, register_name: &str, val: u64, ) -> Result<(), Error>

Set new register value.

§Arguments
  • register_name: x86-64 register name (ex: rip)
  • val: 8 bite value
Source

pub fn known_files(&self) -> impl Iterator<Item = &PathBuf>

Return list of known files income from dwarf parser.

Source

pub fn shared_libs(&self) -> Vec<RegionInfo>

Return a list of shared libraries.

Source

pub fn disasm(&self) -> Result<FunctionAssembly, Error>

Return a list of disassembled instruction for a function in focus.

Source

pub fn current_function_range(&self) -> Result<FunctionRange<'_>, Error>

Return two place descriptors, at the start and at the end of the current function.

Trait Implementations§

Source§

impl Drop for Debugger

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

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<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<'src, T> IntoMaybe<'src, T> for T
where T: 'src,

Source§

type Proj<U: 'src> = U

Source§

fn map_maybe<R>( self, _f: impl FnOnce(&'src T) -> &'src R, g: impl FnOnce(T) -> R, ) -> <T as IntoMaybe<'src, T>>::Proj<R>
where R: 'src,

Source§

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

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V