Struct re_viewer::external::egui_kittest::kittest::Node
pub struct Node<'tree> {
node: Node<'tree>,
pub(crate) queue: &'tree Mutex<RawMutex, Vec<Event>>,
}
Expand description
A node in the accessibility tree. This should correspond to a widget or container in the GUI
Fields§
§node: Node<'tree>
§queue: &'tree Mutex<RawMutex, Vec<Event>>
Implementations§
§impl<'tree> Node<'tree>
impl<'tree> Node<'tree>
pub fn focus(&self)
pub fn focus(&self)
Request focus for the node via accesskit
pub fn click(&self)
pub fn click(&self)
Click the node via accesskit. This will trigger a [accesskit::Action::Click
] action
pub fn hover(&self)
pub fn hover(&self)
Hover the cursor at the node center
pub fn simulate_click(&self)
pub fn simulate_click(&self)
Simulate a click event at the node center
pub fn key_combination(&self, keys: &[Key])
pub fn key_combination(&self, keys: &[Key])
Press the given keys in combination
For e.g. Key::Control
+ Key::A
this would generate:
- Press
Key::Control
- Press
Key::A
- Release
Key::A
- Release
Key::Control
pub fn press_keys(&self, keys: &[Key])
pub fn press_keys(&self, keys: &[Key])
Press the given keys
For e.g. Key::Control
+ Key::A
this would generate:
- Press
Key::Control
- Release
Key::Control
- Press
Key::A
- Release
Key::A
Methods from Deref<Target = Node<'tree>>§
pub fn is_focused(&self) -> bool
pub fn is_focused_in_tree(&self) -> bool
pub fn is_focusable(&self) -> bool
pub fn is_root(&self) -> bool
pub fn parent_id(&self) -> Option<NodeId>
pub fn parent(&self) -> Option<Node<'a>>
pub fn filtered_parent( &self, filter: &impl Fn(&Node<'_>) -> FilterResult, ) -> Option<Node<'a>>
pub fn child_ids( &self, ) -> impl DoubleEndedIterator + ExactSizeIterator + FusedIterator
pub fn children( &self, ) -> impl DoubleEndedIterator + ExactSizeIterator + FusedIterator + 'a
pub fn filtered_children( &self, filter: impl Fn(&Node<'_>) -> FilterResult + 'a, ) -> impl DoubleEndedIterator + FusedIterator + 'a
pub fn following_sibling_ids( &self, ) -> impl DoubleEndedIterator + ExactSizeIterator + FusedIterator + 'a
pub fn following_siblings( &self, ) -> impl DoubleEndedIterator + ExactSizeIterator + FusedIterator + 'a
pub fn following_filtered_siblings( &self, filter: impl Fn(&Node<'_>) -> FilterResult + 'a, ) -> impl DoubleEndedIterator + FusedIterator + 'a
pub fn preceding_sibling_ids( &self, ) -> impl DoubleEndedIterator + ExactSizeIterator + FusedIterator + 'a
pub fn preceding_siblings( &self, ) -> impl DoubleEndedIterator + ExactSizeIterator + FusedIterator + 'a
pub fn preceding_filtered_siblings( &self, filter: impl Fn(&Node<'_>) -> FilterResult + 'a, ) -> impl DoubleEndedIterator + FusedIterator + 'a
pub fn deepest_first_filtered_child( &self, filter: &impl Fn(&Node<'_>) -> FilterResult, ) -> Option<Node<'a>>
pub fn deepest_last_filtered_child( &self, filter: &impl Fn(&Node<'_>) -> FilterResult, ) -> Option<Node<'a>>
pub fn is_descendant_of(&self, ancestor: &Node<'_>) -> bool
pub fn direct_transform(&self) -> Affine
pub fn direct_transform(&self) -> Affine
Returns the transform defined directly on this node, or the identity transform, without taking into account transforms on ancestors.
pub fn transform(&self) -> Affine
pub fn transform(&self) -> Affine
Returns the combined affine transform of this node and its ancestors, up to and including the root of this node’s tree.
pub fn raw_bounds(&self) -> Option<Rect>
pub fn has_bounds(&self) -> bool
pub fn bounding_box(&self) -> Option<Rect>
pub fn bounding_box(&self) -> Option<Rect>
Returns the node’s transformed bounding box relative to the tree’s container (e.g. window).
pub fn node_at_point(
&self,
point: Point,
filter: &impl Fn(&Node<'_>) -> FilterResult,
) -> Option<Node<'a>>
pub fn node_at_point( &self, point: Point, filter: &impl Fn(&Node<'_>) -> FilterResult, ) -> Option<Node<'a>>
Returns the deepest filtered node, either this node or a descendant, at the given point in this node’s coordinate space.
pub fn id(&self) -> NodeId
pub fn role(&self) -> Role
pub fn role_description(&self) -> Option<String>
pub fn has_role_description(&self) -> bool
pub fn is_disabled(&self) -> bool
pub fn is_read_only(&self) -> bool
pub fn is_read_only_or_disabled(&self) -> bool
pub fn toggled(&self) -> Option<Toggled>
pub fn numeric_value(&self) -> Option<f64>
pub fn min_numeric_value(&self) -> Option<f64>
pub fn max_numeric_value(&self) -> Option<f64>
pub fn numeric_value_step(&self) -> Option<f64>
pub fn numeric_value_jump(&self) -> Option<f64>
pub fn is_text_input(&self) -> bool
pub fn is_multiline(&self) -> bool
pub fn orientation(&self) -> Option<Orientation>
pub fn is_clickable(&self) -> bool
pub fn supports_toggle(&self) -> bool
pub fn supports_expand_collapse(&self) -> bool
pub fn is_invocable(&self) -> bool
pub fn supports_increment(&self) -> bool
pub fn supports_decrement(&self) -> bool
pub fn labelled_by(&self) -> impl DoubleEndedIterator + FusedIterator + 'a
pub fn label_comes_from_value(&self) -> bool
pub fn label(&self) -> Option<String>
pub fn description(&self) -> Option<String>
pub fn placeholder(&self) -> Option<String>
pub fn value(&self) -> Option<String>
pub fn has_value(&self) -> bool
pub fn is_read_only_supported(&self) -> bool
pub fn should_have_read_only_state_by_default(&self) -> bool
pub fn live(&self) -> Live
pub fn is_selected(&self) -> Option<bool>
pub fn raw_text_selection(&self) -> Option<&TextSelection>
pub fn raw_value(&self) -> Option<&str>
pub fn class_name(&self) -> Option<&str>
pub fn index_path(&self) -> Vec<usize>
pub fn relative_index_path(&self, ancestor_id: NodeId) -> Vec<usize>
pub fn supports_text_ranges(&self) -> bool
pub fn document_range(&self) -> Range<'_>
pub fn has_text_selection(&self) -> bool
pub fn text_selection(&self) -> Option<Range<'_>>
pub fn text_selection_focus(&self) -> Option<Position<'_>>
pub fn text_position_at_point(&self, point: Point) -> Position<'_>
pub fn text_position_at_point(&self, point: Point) -> Position<'_>
Returns the nearest text position to the given point in this node’s coordinate space.
pub fn line_range_from_index(&self, line_index: usize) -> Option<Range<'_>>
pub fn text_position_from_global_usv_index( &self, index: usize, ) -> Option<Position<'_>>
pub fn text_position_from_global_utf16_index( &self, index: usize, ) -> Option<Position<'_>>
Trait Implementations§
§impl<'tree> Deref for Node<'tree>
impl<'tree> Deref for Node<'tree>
We should probably add our own methods to query the node state but for now this should work
§impl<'t, 'n> Queryable<'t, 'n> for Node<'t>
impl<'t, 'n> Queryable<'t, 'n> for Node<'t>
fn node(&'n self) -> Node<'t>
§fn query_all(
&'node self,
by: By<'tree>,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn query_all( &'node self, by: By<'tree>, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
By
filter.§fn get_all(
&'node self,
by: By<'tree>,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn get_all( &'node self, by: By<'tree>, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn query(&'node self, by: By<'tree>) -> Option<Node<'tree>>
fn query(&'node self, by: By<'tree>) -> Option<Node<'tree>>
By
filter.
Returns None
if no nodes are found.§fn query_all_by_label(
&'node self,
label: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn query_all_by_label( &'node self, label: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn get_all_by_label(
&'node self,
label: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn get_all_by_label( &'node self, label: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn query_by_label(&'node self, label: &'tree str) -> Option<Node<'tree>>
fn query_by_label(&'node self, label: &'tree str) -> Option<Node<'tree>>
None
if no nodes are found. Read more§fn get_by_label(&'node self, label: &'tree str) -> Node<'tree>
fn get_by_label(&'node self, label: &'tree str) -> Node<'tree>
§fn query_all_by_label_contains(
&'node self,
label: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn query_all_by_label_contains( &'node self, label: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn get_all_by_label_contains(
&'node self,
label: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn get_all_by_label_contains( &'node self, label: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn query_by_label_contains(
&'node self,
label: &'tree str,
) -> Option<Node<'tree>>
fn query_by_label_contains( &'node self, label: &'tree str, ) -> Option<Node<'tree>>
None
if no nodes are found. Read more§fn get_by_label_contains(&'node self, label: &'tree str) -> Node<'tree>
fn get_by_label_contains(&'node self, label: &'tree str) -> Node<'tree>
§fn query_all_by_role_and_label(
&'node self,
role: Role,
label: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn query_all_by_role_and_label( &'node self, role: Role, label: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn get_all_by_role_and_label(
&'node self,
role: Role,
label: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn get_all_by_role_and_label( &'node self, role: Role, label: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn query_by_role_and_label(
&'node self,
role: Role,
label: &'tree str,
) -> Option<Node<'tree>>
fn query_by_role_and_label( &'node self, role: Role, label: &'tree str, ) -> Option<Node<'tree>>
None
if no nodes are found. Read more§fn get_by_role_and_label(
&'node self,
role: Role,
label: &'tree str,
) -> Node<'tree>
fn get_by_role_and_label( &'node self, role: Role, label: &'tree str, ) -> Node<'tree>
§fn query_all_by_role(
&'node self,
role: Role,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn query_all_by_role( &'node self, role: Role, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn get_all_by_role(
&'node self,
role: Role,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn get_all_by_role( &'node self, role: Role, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn query_by_role(&'node self, role: Role) -> Option<Node<'tree>>
fn query_by_role(&'node self, role: Role) -> Option<Node<'tree>>
None
if no nodes are found.§fn get_by_role(&'node self, role: Role) -> Node<'tree>
fn get_by_role(&'node self, role: Role) -> Node<'tree>
§fn query_all_by_value(
&'node self,
value: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn query_all_by_value( &'node self, value: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn get_all_by_value(
&'node self,
value: &'tree str,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn get_all_by_value( &'node self, value: &'tree str, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn query_by_value(&'node self, value: &'tree str) -> Option<Node<'tree>>
fn query_by_value(&'node self, value: &'tree str) -> Option<Node<'tree>>
None
if no nodes are found.§fn get_by_value(&'node self, value: &'tree str) -> Node<'tree>
fn get_by_value(&'node self, value: &'tree str) -> Node<'tree>
§fn query_all_by(
&'node self,
f: impl Fn(&Node<'_>) -> bool + 'tree,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn query_all_by( &'node self, f: impl Fn(&Node<'_>) -> bool + 'tree, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
§fn get_all_by(
&'node self,
f: impl Fn(&Node<'_>) -> bool + 'tree,
) -> impl DoubleEndedIterator + FusedIterator + 'tree
fn get_all_by( &'node self, f: impl Fn(&Node<'_>) -> bool + 'tree, ) -> impl DoubleEndedIterator + FusedIterator + 'tree
impl<'tree> Copy for Node<'tree>
Auto Trait Implementations§
impl<'tree> Freeze for Node<'tree>
impl<'tree> !RefUnwindSafe for Node<'tree>
impl<'tree> Send for Node<'tree>
impl<'tree> Sync for Node<'tree>
impl<'tree> Unpin for Node<'tree>
impl<'tree> !UnwindSafe for Node<'tree>
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> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
§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
source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
§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.