Struct TracingInspectorConfig
pub struct TracingInspectorConfig {
pub record_steps: bool,
pub record_memory_snapshots: bool,
pub record_stack_snapshots: StackSnapshotType,
pub record_state_diff: bool,
pub record_returndata_snapshots: bool,
pub record_opcodes_filter: Option<OpcodeFilter>,
pub exclude_precompile_calls: bool,
pub record_logs: bool,
pub record_immediate_bytes: bool,
}
Expand description
Gives guidance to the TracingInspector.
Use TracingInspectorConfig::default_parity or TracingInspectorConfig::default_geth to get the default configs for specific styles of traces.
Fields§
§record_steps: bool
Whether to record every individual opcode level step.
record_memory_snapshots: bool
Whether to record individual memory snapshots.
record_stack_snapshots: StackSnapshotType
Whether to record individual stack snapshots.
record_state_diff: bool
Whether to record state diffs.
record_returndata_snapshots: bool
Whether to record returndata buffer snapshots.
record_opcodes_filter: Option<OpcodeFilter>
Optional filter for opcodes to record. If provided, only steps with opcode in this set will be recorded.
exclude_precompile_calls: bool
Whether to ignore precompile calls.
record_logs: bool
Whether to record logs
record_immediate_bytes: bool
Whether to record immediate bytes for opcodes.
Implementations§
§impl TracingInspectorConfig
impl TracingInspectorConfig
pub const fn all() -> TracingInspectorConfig
pub const fn all() -> TracingInspectorConfig
Returns a config with everything enabled.
pub const fn none() -> TracingInspectorConfig
pub const fn none() -> TracingInspectorConfig
Returns a config with everything disabled.
pub const fn default_parity() -> TracingInspectorConfig
pub const fn default_parity() -> TracingInspectorConfig
Returns a config for parity style traces.
This config does not record opcode level traces and is suited for trace_transaction
pub const fn default_geth() -> TracingInspectorConfig
pub const fn default_geth() -> TracingInspectorConfig
Returns a config for geth style traces.
This config does not record opcode level traces and is suited for debug_traceTransaction
This will configure the default output of geth’s default StructLogTracer.
pub fn from_parity_config(
trace_types: &HashSet<TraceType, RandomState>,
) -> TracingInspectorConfig
pub fn from_parity_config( trace_types: &HashSet<TraceType, RandomState>, ) -> TracingInspectorConfig
Returns the TracingInspectorConfig depending on the enabled [TraceType]s
Note: the parity statediffs can be populated entirely via the execution result, so we don’t need statediff recording
pub fn from_geth_config(
config: &GethDefaultTracingOptions,
) -> TracingInspectorConfig
pub fn from_geth_config( config: &GethDefaultTracingOptions, ) -> TracingInspectorConfig
Returns a config for geth style traces based on the given [GethDefaultTracingOptions].
This will configure the output of geth’s default StructLogTracer according to the given config.
pub fn from_geth_call_config(config: &CallConfig) -> TracingInspectorConfig
pub fn from_geth_call_config(config: &CallConfig) -> TracingInspectorConfig
Returns a config for geth’s CallTracer.
This returns Self::none and enables TracingInspectorConfig::record_logs if configured in the given [CallConfig]
pub fn from_flat_call_config(config: &FlatCallConfig) -> TracingInspectorConfig
pub fn from_flat_call_config(config: &FlatCallConfig) -> TracingInspectorConfig
Returns a config for geth’s FlatCallTracer.
This returns Self::default_parity and sets TracingInspectorConfig::exclude_precompile_calls if configured in the given [FlatCallConfig]
pub const fn from_geth_prestate_config(
_config: &PreStateConfig,
) -> TracingInspectorConfig
pub const fn from_geth_prestate_config( _config: &PreStateConfig, ) -> TracingInspectorConfig
Returns a config for geth’s PrestateTracer.
Note: This currently returns Self::none because the prestate tracer result currently relies on the execution result entirely, see GethTraceBuilder::geth_prestate_traces
pub fn merge(
&mut self,
other: TracingInspectorConfig,
) -> &mut TracingInspectorConfig
pub fn merge( &mut self, other: TracingInspectorConfig, ) -> &mut TracingInspectorConfig
Merge another config into this one.
pub const fn set_exclude_precompile_calls(
self,
exclude_precompile_calls: bool,
) -> TracingInspectorConfig
pub const fn set_exclude_precompile_calls( self, exclude_precompile_calls: bool, ) -> TracingInspectorConfig
Configure whether calls to precompiles should be ignored.
If set to true
, calls to precompiles without value transfers will be ignored.
pub const fn disable_steps(self) -> TracingInspectorConfig
pub const fn disable_steps(self) -> TracingInspectorConfig
Disable recording of individual opcode level steps
pub const fn steps(self) -> TracingInspectorConfig
pub const fn steps(self) -> TracingInspectorConfig
Enable recording of individual opcode level steps
pub const fn set_steps(self, record_steps: bool) -> TracingInspectorConfig
pub const fn set_steps(self, record_steps: bool) -> TracingInspectorConfig
Configure whether individual opcode level steps should be recorded
pub const fn disable_memory_snapshots(self) -> TracingInspectorConfig
pub const fn disable_memory_snapshots(self) -> TracingInspectorConfig
Disable recording of individual memory snapshots
pub const fn memory_snapshots(self) -> TracingInspectorConfig
pub const fn memory_snapshots(self) -> TracingInspectorConfig
Enable recording of individual memory snapshots
pub const fn set_memory_snapshots(
self,
record_memory_snapshots: bool,
) -> TracingInspectorConfig
pub const fn set_memory_snapshots( self, record_memory_snapshots: bool, ) -> TracingInspectorConfig
Configure whether the tracer should record memory snapshots
pub const fn disable_stack_snapshots(self) -> TracingInspectorConfig
pub const fn disable_stack_snapshots(self) -> TracingInspectorConfig
Disable recording of individual stack snapshots
pub const fn stack_snapshots(self) -> TracingInspectorConfig
pub const fn stack_snapshots(self) -> TracingInspectorConfig
Enable recording of individual stack snapshots
pub const fn set_stack_snapshots(
self,
record_stack_snapshots: StackSnapshotType,
) -> TracingInspectorConfig
pub const fn set_stack_snapshots( self, record_stack_snapshots: StackSnapshotType, ) -> TracingInspectorConfig
Configure how the tracer should record stack snapshots
pub const fn disable_state_diffs(self) -> TracingInspectorConfig
pub const fn disable_state_diffs(self) -> TracingInspectorConfig
Disable recording of state diffs
pub const fn set_state_diffs(
self,
record_state_diff: bool,
) -> TracingInspectorConfig
pub const fn set_state_diffs( self, record_state_diff: bool, ) -> TracingInspectorConfig
Configure whether the tracer should record state diffs
pub const fn with_state_diffs(self) -> TracingInspectorConfig
pub const fn with_state_diffs(self) -> TracingInspectorConfig
Sets state diff recording to true.
Also enables steps recording since state diff recording requires steps recording.
pub const fn set_steps_and_state_diffs(
self,
steps_and_diffs: bool,
) -> TracingInspectorConfig
pub const fn set_steps_and_state_diffs( self, steps_and_diffs: bool, ) -> TracingInspectorConfig
Configure whether the tracer should record steps and state diffs.
This is a convenience method for setting both TracingInspectorConfig::set_steps and TracingInspectorConfig::set_state_diffs since tracking state diffs requires steps tracing.
pub const fn disable_record_logs(self) -> TracingInspectorConfig
pub const fn disable_record_logs(self) -> TracingInspectorConfig
Disable recording of individual logs
pub const fn record_logs(self) -> TracingInspectorConfig
pub const fn record_logs(self) -> TracingInspectorConfig
Enable recording of individual logs
pub const fn set_record_logs(self, record_logs: bool) -> TracingInspectorConfig
pub const fn set_record_logs(self, record_logs: bool) -> TracingInspectorConfig
Configure whether the tracer should record logs
pub const fn set_immediate_bytes(
self,
record_immediate_bytes: bool,
) -> TracingInspectorConfig
pub const fn set_immediate_bytes( self, record_immediate_bytes: bool, ) -> TracingInspectorConfig
Configure whether the tracer should record immediate bytes
pub const fn record_immediate_bytes(self) -> TracingInspectorConfig
pub const fn record_immediate_bytes(self) -> TracingInspectorConfig
Enable recording of immediate bytes
pub fn should_record_opcode(&self, op: OpCode) -> bool
pub fn should_record_opcode(&self, op: OpCode) -> bool
If [OpcodeFilter] is configured, returns whether the given opcode should be recorded. Otherwise, always returns true.
Trait Implementations§
§impl Clone for TracingInspectorConfig
impl Clone for TracingInspectorConfig
§fn clone(&self) -> TracingInspectorConfig
fn clone(&self) -> TracingInspectorConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for TracingInspectorConfig
impl Debug for TracingInspectorConfig
§impl Default for TracingInspectorConfig
impl Default for TracingInspectorConfig
§fn default() -> TracingInspectorConfig
fn default() -> TracingInspectorConfig
§impl PartialEq for TracingInspectorConfig
impl PartialEq for TracingInspectorConfig
impl Copy for TracingInspectorConfig
impl Eq for TracingInspectorConfig
impl StructuralPartialEq for TracingInspectorConfig
Auto Trait Implementations§
impl Freeze for TracingInspectorConfig
impl RefUnwindSafe for TracingInspectorConfig
impl Send for TracingInspectorConfig
impl Sync for TracingInspectorConfig
impl Unpin for TracingInspectorConfig
impl UnwindSafe for TracingInspectorConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
self
to key
and returns true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§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,
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,
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,
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,
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,
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,
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,
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,
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
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();
§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
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();
§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
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();
§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
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();
§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.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
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);
§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,
§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,
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,
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
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
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
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§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
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
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
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
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
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
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
.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
.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
.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
.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
.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
.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
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes