pub struct Armv8a<'probe> { /* private fields */ }
Expand description
Interface for interacting with an ARMv8-A core
Trait Implementations§
source§impl<'probe> CoreInterface for Armv8a<'probe>
impl<'probe> CoreInterface for Armv8a<'probe>
source§fn hw_breakpoints(&mut self) -> Result<Vec<Option<u64>>, Error>
fn hw_breakpoints(&mut self) -> Result<Vec<Option<u64>>, Error>
See docs on the CoreInterface::hw_breakpoints
trait
source§fn wait_for_core_halted(&mut self, timeout: Duration) -> Result<(), Error>
fn wait_for_core_halted(&mut self, timeout: Duration) -> Result<(), Error>
Wait until the core is halted. If the core does not halt on its own,
a
DebugProbeError::Timeout
error will be returned.source§fn core_halted(&mut self) -> Result<bool, Error>
fn core_halted(&mut self) -> Result<bool, Error>
Check if the core is halted. If the core does not halt on its own,
a
DebugProbeError::Timeout
error will be returned.source§fn halt(&mut self, timeout: Duration) -> Result<CoreInformation, Error>
fn halt(&mut self, timeout: Duration) -> Result<CoreInformation, Error>
Try to halt the core. This function ensures the core is actually halted, and
returns a
DebugProbeError::Timeout
otherwise.source§fn reset(&mut self) -> Result<(), Error>
fn reset(&mut self) -> Result<(), Error>
Reset the core, and then continue to execute instructions. If the core
should be halted after reset, use the
reset_and_halt
function.source§fn reset_and_halt(
&mut self,
timeout: Duration
) -> Result<CoreInformation, Error>
fn reset_and_halt( &mut self, timeout: Duration ) -> Result<CoreInformation, Error>
Reset the core, and then immediately halt. To continue execution after
reset, use the
reset
function.source§fn step(&mut self) -> Result<CoreInformation, Error>
fn step(&mut self) -> Result<CoreInformation, Error>
Steps one instruction and then enters halted state again.
source§fn read_core_reg(&mut self, address: RegisterId) -> Result<RegisterValue, Error>
fn read_core_reg(&mut self, address: RegisterId) -> Result<RegisterValue, Error>
Read the value of a core register.
source§fn write_core_reg(
&mut self,
address: RegisterId,
value: RegisterValue
) -> Result<(), Error>
fn write_core_reg( &mut self, address: RegisterId, value: RegisterValue ) -> Result<(), Error>
Write the value of a core register.
source§fn available_breakpoint_units(&mut self) -> Result<u32, Error>
fn available_breakpoint_units(&mut self) -> Result<u32, Error>
Returns all the available breakpoint units of the core.
source§fn enable_breakpoints(&mut self, _state: bool) -> Result<(), Error>
fn enable_breakpoints(&mut self, _state: bool) -> Result<(), Error>
Enables breakpoints on this core. If a breakpoint is set, it will halt as soon as it is hit.
source§fn set_hw_breakpoint(
&mut self,
bp_unit_index: usize,
addr: u64
) -> Result<(), Error>
fn set_hw_breakpoint( &mut self, bp_unit_index: usize, addr: u64 ) -> Result<(), Error>
Sets a breakpoint at
addr
. It does so by using unit bp_unit_index
.source§fn clear_hw_breakpoint(&mut self, bp_unit_index: usize) -> Result<(), Error>
fn clear_hw_breakpoint(&mut self, bp_unit_index: usize) -> Result<(), Error>
Clears the breakpoint configured in unit
unit_index
.source§fn registers(&self) -> &'static CoreRegisters
fn registers(&self) -> &'static CoreRegisters
Returns a list of all the registers of this core.
source§fn program_counter(&self) -> &'static CoreRegister
fn program_counter(&self) -> &'static CoreRegister
Returns the program counter register.
source§fn frame_pointer(&self) -> &'static CoreRegister
fn frame_pointer(&self) -> &'static CoreRegister
Returns the stack pointer register.
source§fn stack_pointer(&self) -> &'static CoreRegister
fn stack_pointer(&self) -> &'static CoreRegister
Returns the frame pointer register.
source§fn return_address(&self) -> &'static CoreRegister
fn return_address(&self) -> &'static CoreRegister
Returns the return address register, a.k.a. link register.
source§fn hw_breakpoints_enabled(&self) -> bool
fn hw_breakpoints_enabled(&self) -> bool
Returns
true
if hardware breakpoints are enabled, false
otherwise.source§fn architecture(&self) -> Architecture
fn architecture(&self) -> Architecture
Get the
Architecture
of the Core.source§fn instruction_set(&mut self) -> Result<InstructionSet, Error>
fn instruction_set(&mut self) -> Result<InstructionSet, Error>
Determine the instruction set the core is operating in
This must be queried while halted as this is a runtime
decision for some core types
source§fn fpu_support(&mut self) -> Result<bool, Error>
fn fpu_support(&mut self) -> Result<bool, Error>
Determine if an FPU is present.
This must be queried while halted as this is a runtime
decision for some core types.
source§fn floating_point_register_count(&mut self) -> Result<usize, Error>
fn floating_point_register_count(&mut self) -> Result<usize, Error>
Determine the number of floating point registers.
This must be queried while halted as this is a runtime
decision for some core types.
source§fn debug_on_sw_breakpoint(&mut self, _enabled: bool) -> Result<(), Error>
fn debug_on_sw_breakpoint(&mut self, _enabled: bool) -> Result<(), Error>
Configure the target to ensure software breakpoints will enter Debug Mode.
source§fn on_session_stop(&mut self) -> Result<(), Error>
fn on_session_stop(&mut self) -> Result<(), Error>
Called during session stop to do any pending cleanup
source§fn enable_vector_catch(
&mut self,
_condition: VectorCatchCondition
) -> Result<(), Error>
fn enable_vector_catch( &mut self, _condition: VectorCatchCondition ) -> Result<(), Error>
Enables vector catching for the given
condition
source§fn disable_vector_catch(
&mut self,
_condition: VectorCatchCondition
) -> Result<(), Error>
fn disable_vector_catch( &mut self, _condition: VectorCatchCondition ) -> Result<(), Error>
Disables vector catching for the given
condition
source§impl<'probe> MemoryInterface for Armv8a<'probe>
impl<'probe> MemoryInterface for Armv8a<'probe>
source§fn supports_native_64bit_access(&mut self) -> bool
fn supports_native_64bit_access(&mut self) -> bool
Does this interface support native 64-bit wide accesses Read more
source§fn read_word_64(&mut self, address: u64) -> Result<u64, Error>
fn read_word_64(&mut self, address: u64) -> Result<u64, Error>
Read a 64bit word of at
address
. Read moresource§fn read_word_32(&mut self, address: u64) -> Result<u32, Error>
fn read_word_32(&mut self, address: u64) -> Result<u32, Error>
Read a 32bit word of at
address
. Read moresource§fn read_word_16(&mut self, address: u64) -> Result<u16, Error>
fn read_word_16(&mut self, address: u64) -> Result<u16, Error>
Read a 16bit word of at
address
. Read moresource§fn read_64(&mut self, address: u64, data: &mut [u64]) -> Result<(), Error>
fn read_64(&mut self, address: u64, data: &mut [u64]) -> Result<(), Error>
Read a block of 64bit words at
address
. Read moresource§fn read_32(&mut self, address: u64, data: &mut [u32]) -> Result<(), Error>
fn read_32(&mut self, address: u64, data: &mut [u32]) -> Result<(), Error>
Read a block of 32bit words at
address
. Read moresource§fn read_16(&mut self, address: u64, data: &mut [u16]) -> Result<(), Error>
fn read_16(&mut self, address: u64, data: &mut [u16]) -> Result<(), Error>
Read a block of 16bit words at
address
. Read moresource§fn read_8(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
fn read_8(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
Read a block of 8bit words at
address
.source§fn write_word_64(&mut self, address: u64, data: u64) -> Result<(), Error>
fn write_word_64(&mut self, address: u64, data: u64) -> Result<(), Error>
Write a 64bit word at
address
. Read moresource§fn write_word_32(&mut self, address: u64, data: u32) -> Result<(), Error>
fn write_word_32(&mut self, address: u64, data: u32) -> Result<(), Error>
Write a 32bit word at
address
. Read moresource§fn write_word_16(&mut self, address: u64, data: u16) -> Result<(), Error>
fn write_word_16(&mut self, address: u64, data: u16) -> Result<(), Error>
Write a 16bit word at
address
. Read moresource§fn write_word_8(&mut self, address: u64, data: u8) -> Result<(), Error>
fn write_word_8(&mut self, address: u64, data: u8) -> Result<(), Error>
Write an 8bit word at
address
.source§fn write_64(&mut self, address: u64, data: &[u64]) -> Result<(), Error>
fn write_64(&mut self, address: u64, data: &[u64]) -> Result<(), Error>
Write a block of 64bit words at
address
. Read moresource§fn write_32(&mut self, address: u64, data: &[u32]) -> Result<(), Error>
fn write_32(&mut self, address: u64, data: &[u32]) -> Result<(), Error>
Write a block of 32bit words at
address
. Read moresource§fn write_16(&mut self, address: u64, data: &[u16]) -> Result<(), Error>
fn write_16(&mut self, address: u64, data: &[u16]) -> Result<(), Error>
Write a block of 16bit words at
address
. Read moresource§fn write_8(&mut self, address: u64, data: &[u8]) -> Result<(), Error>
fn write_8(&mut self, address: u64, data: &[u8]) -> Result<(), Error>
Write a block of 8bit words at
address
.source§fn supports_8bit_transfers(&self) -> Result<bool, Error>
fn supports_8bit_transfers(&self) -> Result<bool, Error>
Returns whether the current platform supports native 8bit transfers.
source§fn read_mem_64bit(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
fn read_mem_64bit(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
Reads bytes using 64 bit memory access. Read more
source§fn read_mem_32bit(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
fn read_mem_32bit(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
Reads bytes using 32 bit memory access. Read more
source§fn read(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
fn read(&mut self, address: u64, data: &mut [u8]) -> Result<(), Error>
Read data from
address
. Read moresource§fn write_mem_64bit(&mut self, address: u64, data: &[u8]) -> Result<(), Error>
fn write_mem_64bit(&mut self, address: u64, data: &[u8]) -> Result<(), Error>
Writes bytes using 64 bit memory access. Address must be 64 bit aligned
and data must be an exact multiple of 8.
Auto Trait Implementations§
impl<'probe> !RefUnwindSafe for Armv8a<'probe>
impl<'probe> !Send for Armv8a<'probe>
impl<'probe> !Sync for Armv8a<'probe>
impl<'probe> Unpin for Armv8a<'probe>
impl<'probe> !UnwindSafe for Armv8a<'probe>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Set the foreground color generically Read more
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Set the background color generically. Read more
§fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
Change the background color to yellow
§fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
Change the foreground color to magenta
§fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
Change the background color to magenta
§fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
Change the background color to purple
§fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
Change the foreground color to the terminal default
§fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
Change the background color to the terminal default
§fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
Change the foreground color to bright black
§fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
Change the background color to bright black
§fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
Change the foreground color to bright red
§fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
Change the background color to bright red
§fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
Change the foreground color to bright green
§fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
Change the background color to bright green
§fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
Change the foreground color to bright yellow
§fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
Change the background color to bright yellow
§fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
Change the foreground color to bright blue
§fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
Change the background color to bright blue
§fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
Change the foreground color to bright magenta
§fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
Change the background color to bright magenta
§fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
Change the foreground color to bright purple
§fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
Change the background color to bright purple
§fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
Change the foreground color to bright cyan
§fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
Change the background color to bright cyan
§fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
Change the foreground color to bright white
§fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
Change the background color to bright white
§fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
Make the text blink (but fast!)
Hide the text
§fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
Cross out the text
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the foreground color at runtime. Only use if you do not know which color will be used at
compile-time. If the color is constant, use either
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the background color at runtime. Only use if you do not know what color to use at
compile-time. If the color is constant, use either
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the foreground color to a specific RGB value.
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the background color to a specific RGB value.
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Sets the foreground color to an RGB value.
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Sets the background color to an RGB value.
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.