pub struct ModuleGraphSnapshot {
pub graphs: Vec<ReadRef<SingleModuleGraph>>,
/* private fields */
}Expand description
This struct provides traversal functionality for the module graph.
Some edges might be ignored during traversal: unused references listed in binding_usage are always skipped, and references with ChunkingType::Traced are skipped by default (can be overridden in some functions via the include_traced parameter).
The API across the functions is pretty consistent, apart from:
- traverse_edges_fixed_point_with_priority additionally provides the GraphEdgeIndex
- traverse_edges_dfs is the only function with include_traced
Fields§
§graphs: Vec<ReadRef<SingleModuleGraph>>Implementations§
Source§impl ModuleGraphSnapshot
impl ModuleGraphSnapshot
Sourcepub fn all_chunk_group_entries(
&self,
) -> impl Iterator<Item = &ChunkGroupEntry> + '_
pub fn all_chunk_group_entries( &self, ) -> impl Iterator<Item = &ChunkGroupEntry> + '_
The entry modules of all chunk groups of all graphs.
Sourcepub fn all_chunk_group_entry_modules(
&self,
) -> impl Iterator<Item = ResolvedVc<Box<dyn Module>>> + '_
pub fn all_chunk_group_entry_modules( &self, ) -> impl Iterator<Item = ResolvedVc<Box<dyn Module>>> + '_
The entry modules of all chunk groups of all graphs.
Sourcepub fn all_entry_modules(
&self,
) -> impl Iterator<Item = ResolvedVc<Box<dyn Module>>> + '_
pub fn all_entry_modules( &self, ) -> impl Iterator<Item = ResolvedVc<Box<dyn Module>>> + '_
The entry modules of all chunk groups of all graphs. Includes traced entry modules
Sourcepub fn enumerate_nodes(
&self,
) -> impl Iterator<Item = (NodeIndex, &SingleModuleGraphNode)> + '_
pub fn enumerate_nodes( &self, ) -> impl Iterator<Item = (NodeIndex, &SingleModuleGraphNode)> + '_
WARNING: using this is discouraged, as it doesn’t filter out unused or traced references. Use iter_reachable_modules or one of the .traverse_* functions instead.
Sourcepub fn iter_nodes(
&self,
) -> impl Iterator<Item = ResolvedVc<Box<dyn Module>>> + '_
pub fn iter_nodes( &self, ) -> impl Iterator<Item = ResolvedVc<Box<dyn Module>>> + '_
WARNING: using this is discouraged, as it doesn’t filter out unused or traced references. Use iter_reachable_modules or one of the .traverse_* functions instead.
Sourcepub async fn get_ids(
&self,
) -> Result<FxHashMap<ResolvedVc<Box<dyn Module>>, ReadRef<RcStr>>>
pub async fn get_ids( &self, ) -> Result<FxHashMap<ResolvedVc<Box<dyn Module>>, ReadRef<RcStr>>>
Returns a map of all modules in the graphs to their identifiers. This is primarily useful for debugging.
Sourcepub fn traverse_nodes_dfs<S>(
&self,
entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>,
state: &mut S,
visit_preorder: impl Fn(ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>,
visit_postorder: impl FnMut(ResolvedVc<Box<dyn Module>>, &mut S) -> Result<()>,
) -> Result<()>
pub fn traverse_nodes_dfs<S>( &self, entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>, state: &mut S, visit_preorder: impl Fn(ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>, visit_postorder: impl FnMut(ResolvedVc<Box<dyn Module>>, &mut S) -> Result<()>, ) -> Result<()>
Traverses all reachable nodes exactly once and calls the visitor.
entries- The entry modules to start the traversal fromstatemutable state to be shared across the visitorsvisit_preorder- Called before visiting the children of a node.- Receives the module and the
state - Can return GraphTraversalActions to control the traversal
- Receives the module and the
visit_postorder- Called after visiting children of a node.
Sourcepub fn traverse_edges_bfs(
&self,
entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>,
visitor: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>) -> Result<GraphTraversalAction>,
) -> Result<()>
pub fn traverse_edges_bfs( &self, entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>, visitor: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>) -> Result<GraphTraversalAction>, ) -> Result<()>
Traverses all reachable edges exactly once and calls the visitor with the edge source and target.
This means that target nodes can be revisited (once per incoming edge).
entry- The entry module to start the traversal fromvisitor- Called before visiting the children of a node.- Receives (originating &SingleModuleGraphNode, edge &ChunkingType), target &SingleModuleGraphNode, state &S
- Can return GraphTraversalActions to control the traversal
Sourcepub fn traverse_edges_unordered(
&self,
visitor: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>) -> Result<()>,
) -> Result<()>
pub fn traverse_edges_unordered( &self, visitor: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>) -> Result<()>, ) -> Result<()>
Traverses all edges exactly once (in an unspecified order) and calls the visitor with the edge source and target.
This means that target nodes can be revisited (once per incoming edge).
visitor- Called before visiting the children of a node.- Receives (originating &SingleModuleGraphNode, edge &ChunkingType), target &SingleModuleGraphNode
Sourcepub fn traverse_edges_dfs<S>(
&self,
entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>,
state: &mut S,
visit_preorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>,
visit_postorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<()>,
include_traced: bool,
) -> Result<()>
pub fn traverse_edges_dfs<S>( &self, entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>, state: &mut S, visit_preorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>, visit_postorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<()>, include_traced: bool, ) -> Result<()>
Traverses all reachable edges in dfs order. The preorder visitor can be used to forward state down the graph, and to skip subgraphs
Use this to collect modules in evaluation order.
Target nodes can be revisited (once per incoming edge) in the preorder_visitor, in the post order visitor they are visited exactly once with the first edge they were discovered with. Edges are traversed in normal order, so should correspond to reference order.
entries- The entry modules to start the traversal fromstate- The state to be passed to the visitorsvisit_preorder- Called before visiting the children of a node.- Receives: (originating &SingleModuleGraphNode, edge &ChunkingType), target &SingleModuleGraphNode, state &S
- Can return GraphTraversalActions to control the traversal
visit_postorder- Called after visiting the children of a node. Return- Receives: (originating &SingleModuleGraphNode, edge &ChunkingType), target &SingleModuleGraphNode, state &S
Sourcepub fn traverse_edges_reverse_dfs<S>(
&self,
entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>,
state: &mut S,
visit_preorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>,
visit_postorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<()>,
) -> Result<()>
pub fn traverse_edges_reverse_dfs<S>( &self, entries: impl IntoIterator<Item = ResolvedVc<Box<dyn Module>>>, state: &mut S, visit_preorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>, visit_postorder: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<()>, ) -> Result<()>
Traverses all reachable edges in dfs order over the reversed graph. The preorder visitor can be used to forward state up the graph, and to skip subgraphs
Target nodes can be revisited (once per incoming edge) in the preorder_visitor, in the post order visitor they are visited exactly once with the first edge they were discovered with. Edges are traversed in normal order, so should correspond to reference order.
entries- The entry modules to start the traversal fromstate- The state to be passed to the visitorsvisit_preorder- Called before visiting the children of a node.- Receives: (originating &SingleModuleGraphNode, edge &ChunkingType), target &SingleModuleGraphNode, state &S
- Can return GraphTraversalActions to control the traversal
visit_postorder- Called after visiting the parents of a node. Return- Receives: (originating &SingleModuleGraphNode, edge &ChunkingType), target &SingleModuleGraphNode, state &S
Sourcepub fn traverse_cycles(
&self,
edge_filter: impl Fn(&RefData) -> bool,
visit_cycle: impl FnMut(&[&ResolvedVc<Box<dyn Module>>]) -> Result<()>,
) -> Result<()>
pub fn traverse_cycles( &self, edge_filter: impl Fn(&RefData) -> bool, visit_cycle: impl FnMut(&[&ResolvedVc<Box<dyn Module>>]) -> Result<()>, ) -> Result<()>
Traverse all cycles in the graph (where the edge filter returns true for the whole cycle) and call the visitor with the nodes in the cycle. Notably, module self-references are also treated as cycles.
Sourcepub fn traverse_edges_fixed_point_with_priority<S, P: Ord>(
&self,
entries: impl IntoIterator<Item = (ResolvedVc<Box<dyn Module>>, P)>,
state: &mut S,
visit: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData, GraphEdgeIndex)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>,
priority: impl Fn(ResolvedVc<Box<dyn Module>>, &mut S) -> Result<P>,
) -> Result<usize>
pub fn traverse_edges_fixed_point_with_priority<S, P: Ord>( &self, entries: impl IntoIterator<Item = (ResolvedVc<Box<dyn Module>>, P)>, state: &mut S, visit: impl FnMut(Option<(ResolvedVc<Box<dyn Module>>, &RefData, GraphEdgeIndex)>, ResolvedVc<Box<dyn Module>>, &mut S) -> Result<GraphTraversalAction>, priority: impl Fn(ResolvedVc<Box<dyn Module>>, &mut S) -> Result<P>, ) -> Result<usize>
Traverses all reachable nodes and also continue revisiting them as long the visitor returns GraphTraversalAction::Continue. The visitor is responsible for the runtime complexity and eventual termination of the traversal. This corresponds to computing a fixed point state for the graph.
Nodes are (re)visited according to the returned priority of the node, prioritizing high values. This priority is intended to be used a heuristic to reduce the number of retraversals.
entries- The entry modules to start the traversal fromstate- The state to be passed to the callbacksvisit- Called for a specific edge- Receives: (originating &SingleModuleGraphNode, edge &ChunkingType), target &SingleModuleGraphNode, state &S
- Return GraphTraversalActions to control the traversal
priority- Called for before visiting the children of a node to determine its priority.- Receives: target &SingleModuleGraphNode, state &S
- Return a priority value for the node
Returns the number of node visits (i.e. higher than the node count if there are retraversals).
Sourcepub fn iter_reachable_modules(
&self,
) -> Result<impl Iterator<Item = ResolvedVc<Box<dyn Module>>>>
pub fn iter_reachable_modules( &self, ) -> Result<impl Iterator<Item = ResolvedVc<Box<dyn Module>>>>
Iterates all reachable modules in the graph, ignoring unused and traced references.
Sourcepub fn iter_reachable_nodes<'a>(
&'a self,
) -> Result<impl Iterator<Item = &'a SingleModuleGraphNode> + 'a>
pub fn iter_reachable_nodes<'a>( &'a self, ) -> Result<impl Iterator<Item = &'a SingleModuleGraphNode> + 'a>
Iterates all reachable nodes in the graph, ignoring unused and traced references. This includes VisitedModule nodes (which means that some modules are returned twice).
Trait Implementations§
Source§impl TraceRawVcs for ModuleGraphSnapshot
impl TraceRawVcs for ModuleGraphSnapshot
fn trace_raw_vcs(&self, __context__: &mut TraceRawVcsContext)
fn get_raw_vcs(&self) -> Vec<RawVc>
Source§impl ValueDebugFormat for ModuleGraphSnapshot
Available on debug-assertions enabled only.
impl ValueDebugFormat for ModuleGraphSnapshot
fn value_debug_format<'a>(&'a self, depth: usize) -> ValueDebugFormatString<'a>
impl NonLocalValue for ModuleGraphSnapshot
Auto Trait Implementations§
impl Freeze for ModuleGraphSnapshot
impl !RefUnwindSafe for ModuleGraphSnapshot
impl Send for ModuleGraphSnapshot
impl Sync for ModuleGraphSnapshot
impl Unpin for ModuleGraphSnapshot
impl UnsafeUnpin for ModuleGraphSnapshot
impl !UnwindSafe for ModuleGraphSnapshot
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
§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,
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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§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,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
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,
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>
§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>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§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>
§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> Pointee for T
impl<T> Pointee 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.