Struct ExpandedNode

Source
pub struct ExpandedNode {
Show 24 fields pub id: ExpandedNodeIdentifier, pub instance_node: RefCell<InstanceNodePtr>, pub render_parent: RefCell<Weak<ExpandedNode>>, pub template_parent: Weak<ExpandedNode>, pub parent_frame: Property<Option<ExpandedNodeIdentifier>>, pub containing_component: Weak<ExpandedNode>, pub stack: Rc<RuntimePropertiesStackFrame>, pub children: Property<Vec<Rc<ExpandedNode>>>, pub mounted_children: RefCell<Vec<Rc<ExpandedNode>>>, pub properties: RefCell<Rc<RefCell<PaxAny>>>, pub common_properties: RefCell<Rc<RefCell<CommonProperties>>>, pub rendered_size: Property<Option<(f64, f64)>>, pub transform_and_bounds: Property<TransformAndBounds<NodeLocal, Window>>, pub expanded_slot_children: RefCell<Option<Vec<Rc<ExpandedNode>>>>, pub expanded_and_flattened_slot_children: Property<Vec<Rc<ExpandedNode>>>, pub flattened_slot_children_count: Property<usize>, pub attached: Cell<u32>, pub occlusion: Property<Occlusion>, pub properties_scope: RefCell<HashMap<String, Variable>>, pub slot_index: Property<Option<usize>>, pub suspended: Property<bool>, pub native_message_listener: Property<()>, pub slot_child_attached_listener: Property<()>, pub subscriptions: RefCell<Vec<Property<()>>>,
}

Fields§

§id: ExpandedNodeIdentifier

Unique ID of this expanded node, roughly encoding an address in the tree, where the first u32 is the instance ID and the subsequent u32s represent addresses within an expanded tree via Repeat.

§instance_node: RefCell<InstanceNodePtr>

Pointer to the unexpanded instance_node underlying this ExpandedNode

§render_parent: RefCell<Weak<ExpandedNode>>

Pointer (Weak to avoid Rc cycle memory leaks) to the ExpandedNode rendered directly above this one.

§template_parent: Weak<ExpandedNode>

Pointer (Weak to avoid Rc cycle memory leaks) to the ExpandedNode in the template directly above this one.

§parent_frame: Property<Option<ExpandedNodeIdentifier>>

Id of closest frame present in the node tree. included as a parameter on AnyCreatePatch when creating a native element to know what clipping context to attach to

§containing_component: Weak<ExpandedNode>

Reference to the component for which this ExpandedNode is a template member. Used at least for getting a reference to slot_children for slot. Optional because the very root instance node (root component, root instance node) has a corollary “root component expanded node.” That very root expanded node does not have a containing ExpandedNode component, thus containing_component is Optional.

§stack: Rc<RuntimePropertiesStackFrame>

Persistent clone of the state of the [PropertiesTreeShared#runtime_properties_stack] at the time that this node was expanded (this is expected to remain immutable through the lifetime of the program after the initial expansion; however, if that constraint changes, this should be explicitly updated to accommodate.)

§children: Property<Vec<Rc<ExpandedNode>>>

Pointers to the ExpandedNode beneath this one. Used for e.g. rendering recursion.

§mounted_children: RefCell<Vec<Rc<ExpandedNode>>>

A list of mounted children that need to be dismounted when children is recalculated

§properties: RefCell<Rc<RefCell<PaxAny>>>

Each ExpandedNode has a unique “stamp” of computed properties

§common_properties: RefCell<Rc<RefCell<CommonProperties>>>

Each ExpandedNode has unique, computed CommonProperties

§rendered_size: Property<Option<(f64, f64)>>

Set by chassis, for for example text nodes that get resize info from an interrupt if a node doesn’t have fixed bounds(width/height specified), this value is used instead.

§transform_and_bounds: Property<TransformAndBounds<NodeLocal, Window>>

The layout information (width, height, transform) used to render this node. computed property based on parent bounds + common properties

§expanded_slot_children: RefCell<Option<Vec<Rc<ExpandedNode>>>>

For component instances only, tracks the expanded slot_children in its non-collapsed form (repeat and conditionals still present). This allows repeat/conditionals to update their children (handled in component.rs update_children method)

§expanded_and_flattened_slot_children: Property<Vec<Rc<ExpandedNode>>>

Flattened version of the above, where repeat/conditionals are removed recursively and replaced by their children. This is re-computed each frame from the non-collapsed expanded_slot_children after they have been updated.

§flattened_slot_children_count: Property<usize>§attached: Cell<u32>

Flag that is > 0 if this node is part of the root tree. If it is, updates to this nodes children also marks them as attached (+1), triggering mount and dismount on addition/removal. This is needed mainly for slot, since an entire “shadow tree” needs to be expanded and updated for each slot child, but only the ones that have a “connected” slot should trigger mount/dismount updates

§occlusion: Property<Occlusion>

Occlusion layer for this node. Used by canvas elements to decide what canvas to draw on, and by native elements to move to the correct native layer.

§properties_scope: RefCell<HashMap<String, Variable>>

A map of all properties available on this expanded node. Used by the RuntimePropertiesStackFrame to resolve symbols.

§slot_index: Property<Option<usize>>

The flattened index of this node in its container (if this container cares about slot children, ex: component, path).

§suspended: Property<bool>

property used to “freeze” (stop firing tick) on a node and all it’s children

§native_message_listener: Property<()>

used by native elements to trigger sending of native messages

§slot_child_attached_listener: Property<()>

used to know when a slot child is attached

§subscriptions: RefCell<Vec<Property<()>>>

subscription properties: added to this expanded node by calling ctx.subscribe in a node event handler

Implementations§

Source§

impl ExpandedNode

Source

pub fn initialize_root( template: Rc<ComponentInstance>, ctx: &Rc<RuntimeContext>, ) -> Rc<Self>

Source

pub fn recreate_with_new_data( self: &Rc<Self>, template: Rc<dyn InstanceNode>, context: &Rc<RuntimeContext>, )

Source

pub fn fully_recreate_with_new_data( self: &Rc<Self>, template: Rc<dyn InstanceNode>, context: &Rc<RuntimeContext>, )

Source

pub fn is_descendant_of( &self, other_expanded_node_id: &ExpandedNodeIdentifier, ) -> bool

Returns whether this node is a descendant of the ExpandedNode described by other_expanded_node_id (id) Currently requires traversing linked list of ancestry, incurring a O(log(n)) cost for a tree of n elements. This could be mitigated with caching/memoization, perhaps by storing a HashSet on each ExpandedNode describing its ancestry chain.

Source

pub fn create_children_detached( self: &Rc<Self>, templates: impl IntoIterator<Item = (Rc<dyn InstanceNode>, Rc<RuntimePropertiesStackFrame>)>, context: &Rc<RuntimeContext>, template_parent: &Weak<ExpandedNode>, ) -> Vec<Rc<ExpandedNode>>

Source

pub fn attach_children( self: &Rc<Self>, new_children: Vec<Rc<ExpandedNode>>, context: &Rc<RuntimeContext>, parent_frame: &Property<Option<ExpandedNodeIdentifier>>, ) -> Vec<Rc<ExpandedNode>>

Source

pub fn inherit_suspend(self: &Rc<Self>, node: &Rc<Self>)

Source

pub fn generate_children( self: &Rc<Self>, templates: impl IntoIterator<Item = (Rc<dyn InstanceNode>, Rc<RuntimePropertiesStackFrame>)>, context: &Rc<RuntimeContext>, parent_frame: &Property<Option<ExpandedNodeIdentifier>>, is_mount: bool, ) -> Vec<Rc<ExpandedNode>>

Source

pub fn recurse_update(self: &Rc<Self>, context: &Rc<RuntimeContext>)

This method recursively updates all node properties. When dirty-dag exists, this won’t need to be here since all property dependencies can be set up and removed during mount/unmount

Source

pub fn recurse_control_flow_expansion( self: &Rc<Self>, context: &Rc<RuntimeContext>, )

Source

pub fn recurse_mount(self: &Rc<Self>, context: &Rc<RuntimeContext>)

Source

pub fn recurse_unmount(self: Rc<Self>, context: &Rc<RuntimeContext>)

Source

pub fn recurse_render_queue( self: &Rc<Self>, ctx: &Rc<RuntimeContext>, rcs: &mut dyn RenderContext, )

Source

pub fn recurse_render( self: &Rc<Self>, ctx: &Rc<RuntimeContext>, rcs: &mut dyn RenderContext, )

Source

pub fn with_properties_unwrapped<T: ToFromPaxAny, R>( &self, callback: impl FnOnce(&mut T) -> R, ) -> R

Manages unpacking an Rc<RefCell>, downcasting into the parameterized target_type, and executing a provided closure body in the context of that unwrapped variant (including support for mutable operations), the closure is executed. Used at least by calculating properties in expand_node and passing &mut self into event handlers (where the typed self is retrieved from an instance of PaxValue)

Source

pub fn try_with_properties_unwrapped<T: ToFromPaxAny, R>( &self, callback: impl FnOnce(&mut T) -> R, ) -> Option<R>

Source

pub fn recurse_visit_postorder( self: &Rc<Self>, func: &mut impl FnMut(&Rc<Self>), )

Source

pub fn get_node_context( self: &Rc<Self>, ctx: &Rc<RuntimeContext>, ) -> NodeContext

Source

pub fn get_common_properties(&self) -> Rc<RefCell<CommonProperties>>

Source

pub fn ray_cast_test(&self, ray: Point2<Window>) -> bool

Determines whether the provided ray, orthogonal to the view plane, intersects this ExpandedNode.

Source

pub fn compute_flattened_slot_children(&self)

Source

pub fn dispatch_scroll( self: &Rc<Self>, event: Event<Scroll>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_clap( self: &Rc<Self>, event: Event<Clap>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_touch_start( self: &Rc<Self>, event: Event<TouchStart>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_touch_move( self: &Rc<Self>, event: Event<TouchMove>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_touch_end( self: &Rc<Self>, event: Event<TouchEnd>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_key_down( self: &Rc<Self>, event: Event<KeyDown>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_key_up( self: &Rc<Self>, event: Event<KeyUp>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_key_press( self: &Rc<Self>, event: Event<KeyPress>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_checkbox_change( self: &Rc<Self>, event: Event<CheckboxChange>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_textbox_change( self: &Rc<Self>, event: Event<TextboxChange>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_text_input( self: &Rc<Self>, event: Event<TextInput>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_textbox_input( self: &Rc<Self>, event: Event<TextboxInput>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_button_click( self: &Rc<Self>, event: Event<ButtonClick>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_mouse_down( self: &Rc<Self>, event: Event<MouseDown>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_mouse_up( self: &Rc<Self>, event: Event<MouseUp>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_mouse_move( self: &Rc<Self>, event: Event<MouseMove>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_mouse_over( self: &Rc<Self>, event: Event<MouseOver>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_mouse_out( self: &Rc<Self>, event: Event<MouseOut>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_double_click( self: &Rc<Self>, event: Event<DoubleClick>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_context_menu( self: &Rc<Self>, event: Event<ContextMenu>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_click( self: &Rc<Self>, event: Event<Click>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_wheel( self: &Rc<Self>, event: Event<Wheel>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_drop( self: &Rc<Self>, event: Event<Drop>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_focus( self: &Rc<Self>, event: Event<Focus>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_select_start( self: &Rc<Self>, event: Event<SelectStart>, globals: &Globals, ctx: &Rc<RuntimeContext>, ) -> bool

Source

pub fn dispatch_custom_event( self: &Rc<Self>, identifier: &str, ctx: &Rc<RuntimeContext>, ) -> Result<(), String>

Source

pub fn chassis_resize_request(self: &Rc<ExpandedNode>, width: f64, height: f64)

Source

pub fn layout_properties(self: &Rc<ExpandedNode>) -> Property<LayoutProperties>

Helper method that returns a collection of common properties related to layout (position, size, scale, anchor, etc),

Trait Implementations§

Source§

impl Clone for ExpandedNode

Source§

fn clone(&self) -> ExpandedNode

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ExpandedNode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Interpolatable for ExpandedNode

Source§

fn interpolate(&self, _other: &Self, _t: f64) -> Self

Source§

impl ImplToFromPaxAny for ExpandedNode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> RoundFrom<T> for T

Source§

fn round_from(x: T) -> T

Performs the conversion.
Source§

impl<T, U> RoundInto<U> for T
where U: RoundFrom<T>,

Source§

fn round_into(self) -> U

Performs the conversion.
Source§

impl<T> ToFromPaxAny for T

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more