pub struct ModuleGraph { /* private fields */ }Expand description
The ReadRef version of ModuleGraphBase. This is better for eventual consistency, as the graphs aren’t awaited multiple times within the same task.
Implementations§
Source§impl ModuleGraph
impl ModuleGraph
Sourcepub fn cell(self) -> Vc<Self>
pub fn cell(self) -> Vc<Self>
Places a value in a cell of the current task.
Cell is selected based on the value type and call order of cell.
Sourcepub fn resolved_cell(self) -> ResolvedVc<Self>
pub fn resolved_cell(self) -> ResolvedVc<Self>
Places a value in a cell of the current task. Returns a
ResolvedVc.
Cell is selected based on the value type and call order of cell.
Source§impl ModuleGraph
impl ModuleGraph
pub fn from_single_graph( graph: OperationVc<SingleModuleGraph>, ) -> OperationVc<Self>
pub fn from_graphs( graphs: Vec<OperationVc<SingleModuleGraph>>, ) -> OperationVc<Self>
Sourcepub fn from_single_graph_without_unused_references(
graph: OperationVc<SingleModuleGraph>,
binding_usage: OperationVc<BindingUsageInfo>,
) -> OperationVc<Self>
pub fn from_single_graph_without_unused_references( graph: OperationVc<SingleModuleGraph>, binding_usage: OperationVc<BindingUsageInfo>, ) -> OperationVc<Self>
Analyze the module graph and remove unused references (by determining the used exports and removing unused imports).
In particular, this removes ModuleReference-s that list only unused exports in the
import_usage()
Sourcepub fn from_graphs_without_unused_references(
graphs: Vec<OperationVc<SingleModuleGraph>>,
binding_usage: OperationVc<BindingUsageInfo>,
) -> OperationVc<Self>
pub fn from_graphs_without_unused_references( graphs: Vec<OperationVc<SingleModuleGraph>>, binding_usage: OperationVc<BindingUsageInfo>, ) -> OperationVc<Self>
Analyze the module graph and remove unused references (by determining the used exports and removing unused imports).
In particular, this removes ModuleReference-s that list only unused exports in the
import_usage()
pub fn chunk_group_info(self: Vc<Self>) -> Vc<ChunkGroupInfo>
pub fn merged_modules(self: Vc<Self>) -> Vc<MergedModuleInfo>
pub fn module_batches( self: Vc<Self>, config: Vc<BatchingConfig>, ) -> Vc<ModuleBatchesGraph>
pub fn style_groups( self: Vc<Self>, chunking_context: Vc<Box<dyn ChunkingContext>>, config: StyleGroupsConfig, ) -> Vc<StyleGroups>
pub fn async_module_info(self: Vc<Self>) -> Vc<AsyncModulesInfo>
pub fn referenced_async_modules( self: Vc<Self>, module: Vc<Box<dyn Module>>, ) -> Vc<AsyncModuleInfo>
Sourcepub fn iter_graphs(self: Vc<Self>) -> Vc<ModuleGraphLayers>
pub fn iter_graphs(self: Vc<Self>) -> Vc<ModuleGraphLayers>
Returns the underlying graphs as a list, to be used for individual graph traversals.
Methods from Deref<Target = ModuleGraphSnapshot>§
pub fn entries(&self) -> impl Iterator<Item = ChunkGroupEntry> + '_
pub fn enumerate_nodes( &self, ) -> impl Iterator<Item = (NodeIndex, &SingleModuleGraphNode)> + '_
pub fn iter_nodes( &self, ) -> impl Iterator<Item = ResolvedVc<Box<dyn Module>>> + '_
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<()>,
) -> 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<()>, ) -> 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).
Trait Implementations§
Source§impl Deref for ModuleGraph
impl Deref for ModuleGraph
Source§impl ShrinkToFit for ModuleGraph
impl ShrinkToFit for ModuleGraph
fn shrink_to_fit(&mut self)
Source§impl TraceRawVcs for ModuleGraph
impl TraceRawVcs for ModuleGraph
fn trace_raw_vcs(&self, __context__: &mut TraceRawVcsContext)
fn get_raw_vcs(&self) -> Vec<RawVc>
Source§impl ValueDebug for ModuleGraph
impl ValueDebug for ModuleGraph
Source§impl ValueDebugFormat for ModuleGraph
impl ValueDebugFormat for ModuleGraph
fn value_debug_format<'a>(&'a self, depth: usize) -> ValueDebugFormatString<'a>
Source§impl VcValueType for ModuleGraph
impl VcValueType for ModuleGraph
Source§type Read = VcDefaultRead<ModuleGraph>
type Read = VcDefaultRead<ModuleGraph>
Source§type CellMode = VcCellNewMode<ModuleGraph>
type CellMode = VcCellNewMode<ModuleGraph>
Source§fn get_value_type_id() -> ValueTypeId
fn get_value_type_id() -> ValueTypeId
fn has_serialization() -> bool
impl NonLocalValue for ModuleGraph
impl Upcast<Box<dyn ValueDebug>> for ModuleGraph
impl UpcastStrict<Box<dyn ValueDebug>> for ModuleGraph
Auto Trait Implementations§
impl Freeze for ModuleGraph
impl !RefUnwindSafe for ModuleGraph
impl Send for ModuleGraph
impl Sync for ModuleGraph
impl Unpin for ModuleGraph
impl UnsafeUnpin for ModuleGraph
impl !UnwindSafe for ModuleGraph
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.