pub struct NativeRenderer { /* private fields */ }Expand description
Native renderer backend implementing the Renderer trait. It wraps a shared SurtrRenderer for high-performance GPU drawing. During a render pass, GPU_FRAME_PTR is set so draw calls bypass the mutex.
Implementations§
Source§impl NativeRenderer
impl NativeRenderer
Sourcepub fn run<V: View + 'static>(
view: V,
prewarm_assets: Option<Vec<(String, Vec<u8>)>>,
)
pub fn run<V: View + 'static>( view: V, prewarm_assets: Option<Vec<(String, Vec<u8>)>>, )
Start the CVKG native application with the given view.
prewarm_assets is a list of (name, raw_bytes) pairs uploaded to the GPU
texture atlas on the first frame before any draw calls.
Sourcepub fn run_with_background<V: View + 'static>(
view: V,
image_name: &str,
image_path: &str,
)
pub fn run_with_background<V: View + 'static>( view: V, image_name: &str, image_path: &str, )
Convenience: run with a single background image loaded from a file path.
The image is loaded from disk and pre-warmed on the first frame.
image_name is the key used in draw_image / draw_background_image.
Trait Implementations§
Source§impl ElapsedTime for NativeRenderer
impl ElapsedTime for NativeRenderer
Source§fn delta_time(&self) -> f32
fn delta_time(&self) -> f32
Source§fn elapsed_time(&self) -> f32
fn elapsed_time(&self) -> f32
Source§impl Renderer for NativeRenderer
impl Renderer for NativeRenderer
Source§fn render_scene_node_3d(
&mut self,
position: [f32; 3],
rotation: [f32; 4],
scale: [f32; 3],
color: [f32; 4],
meshes: &[Mesh],
)
fn render_scene_node_3d( &mut self, position: [f32; 3], rotation: [f32; 4], scale: [f32; 3], color: [f32; 4], meshes: &[Mesh], )
Render a 3D scene graph node using the GPU backend.
§Contract
Delegates to the locked GPU renderer instance to queue the 3D meshes for rendering.
Source§fn text_scale_factor(&self) -> f32
fn text_scale_factor(&self) -> f32
Return the text scale factor of the GPU renderer.
§Contract
delegates to the locked GPU renderer instance to retrieve the correct scale factor.
Source§fn is_over_budget(&self) -> bool
fn is_over_budget(&self) -> bool
Return whether the current frame is over its time budget.
§Contract
delegates to the locked GPU renderer instance to check budget status.
Source§fn draw_text(&mut self, text: &str, x: f32, y: f32, size: f32, color: [f32; 4])
fn draw_text(&mut self, text: &str, x: f32, y: f32, size: f32, color: [f32; 4])
Draws simple unformatted text at the specified coordinates.
§Contract
delegates to the locked GPU renderer instance to perform cached text rendering.
Source§fn measure_text(&mut self, text: &str, size: f32) -> (f32, f32)
fn measure_text(&mut self, text: &str, size: f32) -> (f32, f32)
Measures the dimensions of the text if rendered at the specified size.
§Contract
delegates to the locked GPU renderer instance to look up cached text dimensions.
Source§fn shape_rich_text(
&mut self,
spans: &[TextSpan],
max_width: Option<f32>,
align: TextAlign,
overflow: TextOverflow,
) -> Option<ShapedText>
fn shape_rich_text( &mut self, spans: &[TextSpan], max_width: Option<f32>, align: TextAlign, overflow: TextOverflow, ) -> Option<ShapedText>
Shapes a rich text layout with the specified font spans.
§Contract
delegates to the locked GPU renderer instance to perform text layout and shaping.
Source§fn draw_shaped_text(&mut self, shaped: &ShapedText, x: f32, y: f32)
fn draw_shaped_text(&mut self, shaped: &ShapedText, x: f32, y: f32)
Draws a previously shaped text layout at the specified coordinates.
§Contract
delegates to the locked GPU renderer instance to emit glyph instances.
Source§fn fill_glass_rect_with_tint(
&mut self,
rect: Rect,
radius: f32,
blur_radius: f32,
tint_color: [f32; 4],
glass_intensity: f32,
)
fn fill_glass_rect_with_tint( &mut self, rect: Rect, radius: f32, blur_radius: f32, tint_color: [f32; 4], glass_intensity: f32, )
Fills a rounded rectangle with glass material, custom tint color, and intensity.
§Contract
delegates to the locked GPU renderer instance to draw frosted glass panels.
Source§fn set_theme(&mut self, theme: ColorTheme)
fn set_theme(&mut self, theme: ColorTheme)
Sets the color theme of the renderer.
§Contract
delegates to the locked GPU renderer instance to update global themes.
Source§fn trigger_shatter_event(&mut self, origin: [f32; 2], force: f32)
fn trigger_shatter_event(&mut self, origin: [f32; 2], force: f32)
Triggers a screen-shatter physics event at the specified origin.
§Contract
delegates to the locked GPU renderer instance to dispatch shatter compute effects.
Source§fn set_fireball_pos(&mut self, pos: [f32; 2])
fn set_fireball_pos(&mut self, pos: [f32; 2])
Sets the fireball light source position for specular glass highlights.
§Contract
delegates to the locked GPU renderer instance to update fireball coordinates.
Source§fn set_scene(&mut self, scene: &str)
fn set_scene(&mut self, scene: &str)
Sets the active scene preset by name.
§Contract
delegates to the locked GPU renderer instance to configure scene shaders.
Source§fn set_scene_preset(&mut self, preset: u32)
fn set_scene_preset(&mut self, preset: u32)
Sets the active scene preset by ID.
§Contract
delegates to the locked GPU renderer instance to configure scene shaders.
Source§fn set_default_background_color(&mut self, color: [f32; 4])
fn set_default_background_color(&mut self, color: [f32; 4])
Sets the default canvas background color.
§Contract
delegates to the locked GPU renderer instance to configure background clears.
Source§fn capture_png(&mut self) -> Vec<u8> ⓘ
fn capture_png(&mut self) -> Vec<u8> ⓘ
Captures the current frame as a PNG-encoded byte buffer via GPU readback. Captures the current frame as a PNG-encoded byte buffer via GPU readback.
FIX #4: capture_frame() returns a Future that borrows the SurtrRenderer, so the MutexGuard must remain alive until block_on completes – the guard cannot be dropped before the future is driven to completion. The lock is held for the duration of the GPU readback. This is acceptable because capture_png is an infrequent, explicit user-triggered operation (not called on the hot render path), so blocking other render calls for the readback duration is not a practical concern.
fn fill_rect(&mut self, rect: Rect, color: [f32; 4])
fn fill_rounded_rect(&mut self, rect: Rect, radius: f32, color: [f32; 4])
Source§fn fill_ellipse(&mut self, rect: Rect, color: [f32; 4])
fn fill_ellipse(&mut self, rect: Rect, color: [f32; 4])
rect.fn stroke_rect(&mut self, rect: Rect, color: [f32; 4], stroke_width: f32)
fn stroke_rounded_rect( &mut self, rect: Rect, radius: f32, color: [f32; 4], stroke_width: f32, )
Source§fn stroke_ellipse(&mut self, rect: Rect, color: [f32; 4], stroke_width: f32)
fn stroke_ellipse(&mut self, rect: Rect, color: [f32; 4], stroke_width: f32)
rect.Source§fn draw_line(
&mut self,
x1: f32,
y1: f32,
x2: f32,
y2: f32,
color: [f32; 4],
stroke_width: f32,
)
fn draw_line( &mut self, x1: f32, y1: f32, x2: f32, y2: f32, color: [f32; 4], stroke_width: f32, )
Source§fn fill_glass_rect(&mut self, rect: Rect, radius: f32, blur_radius: f32)
fn fill_glass_rect(&mut self, rect: Rect, radius: f32, blur_radius: f32)
Source§fn fill_glass_rect_with_intensity(
&mut self,
rect: Rect,
radius: f32,
blur_radius: f32,
glass_intensity: f32,
)
fn fill_glass_rect_with_intensity( &mut self, rect: Rect, radius: f32, blur_radius: f32, glass_intensity: f32, )
glass_intensity ranges from 0.0 (solid) to 1.0 (full glass). Default: 1.0.Source§fn fill_glass_rect_with_pressure(
&mut self,
rect: Rect,
radius: f32,
blur_radius: f32,
pressure: f32,
)
fn fill_glass_rect_with_pressure( &mut self, rect: Rect, radius: f32, blur_radius: f32, pressure: f32, )
pressure ranges from 0.0 (no touch) to 1.0 (full pressure).
When pressure > 0, refraction distortion is scaled by pressure amount.
Desktop stub: pressure is always 1.0 for mouse clicks, 0.0 otherwise.Source§fn fill_squircle(&mut self, rect: Rect, n: f32, color: [f32; 4])
fn fill_squircle(&mut self, rect: Rect, n: f32, color: [f32; 4])
n controls the squareness: 2.0 = rounded rect, 4.0 = classic squircle, higher = more square.Source§fn stroke_squircle(
&mut self,
rect: Rect,
n: f32,
color: [f32; 4],
stroke_width: f32,
)
fn stroke_squircle( &mut self, rect: Rect, n: f32, color: [f32; 4], stroke_width: f32, )
Source§fn draw_focus_ring(
&mut self,
rect: Rect,
radius: f32,
offset: f32,
width: f32,
color: [f32; 4],
)
fn draw_focus_ring( &mut self, rect: Rect, radius: f32, offset: f32, width: f32, color: [f32; 4], )
offset is the gap between the rect and the ring, width is the ring thickness.Source§fn draw_linear_gradient(
&mut self,
rect: Rect,
start_color: [f32; 4],
end_color: [f32; 4],
angle: f32,
)
fn draw_linear_gradient( &mut self, rect: Rect, start_color: [f32; 4], end_color: [f32; 4], angle: f32, )
Source§fn draw_radial_gradient(
&mut self,
rect: Rect,
inner_color: [f32; 4],
outer_color: [f32; 4],
)
fn draw_radial_gradient( &mut self, rect: Rect, inner_color: [f32; 4], outer_color: [f32; 4], )
Source§fn draw_texture(&mut self, texture_id: u32, rect: Rect)
fn draw_texture(&mut self, texture_id: u32, rect: Rect)
Source§fn draw_image(&mut self, image_name: &str, rect: Rect)
fn draw_image(&mut self, image_name: &str, rect: Rect)
Source§fn load_image(&mut self, name: &str, data: &[u8])
fn load_image(&mut self, name: &str, data: &[u8])
Source§fn push_clip_rect(&mut self, rect: Rect)
fn push_clip_rect(&mut self, rect: Rect)
rect.
Implementations that do not support clipping may ignore this call.Source§fn pop_clip_rect(&mut self)
fn pop_clip_rect(&mut self)
Source§fn push_opacity(&mut self, opacity: f32)
fn push_opacity(&mut self, opacity: f32)
pop_opacity is called. opacity is in [0.0, 1.0].Source§fn draw_3d_cube(&mut self, rect: Rect, color: [f32; 4], rotation: [f32; 3])
fn draw_3d_cube(&mut self, rect: Rect, color: [f32; 4], rotation: [f32; 3])
rotation is [pitch, yaw, roll] in radians.Source§fn pop_opacity(&mut self)
fn pop_opacity(&mut self)
Source§fn bifrost(&mut self, rect: Rect, blur: f32, saturation: f32, opacity: f32)
fn bifrost(&mut self, rect: Rect, blur: f32, saturation: f32, opacity: f32)
Source§fn push_mjolnir_slice(&mut self, angle: f32, offset: f32)
fn push_mjolnir_slice(&mut self, angle: f32, offset: f32)
fn pop_mjolnir_slice(&mut self)
Source§fn mjolnir_shatter(
&mut self,
rect: Rect,
pieces: u32,
force: f32,
color: [f32; 4],
)
fn mjolnir_shatter( &mut self, rect: Rect, pieces: u32, force: f32, color: [f32; 4], )
fn mjolnir_fluid_shatter( &mut self, rect: Rect, pieces: u32, force: f32, color: [f32; 4], )
fn draw_mjolnir_bolt(&mut self, from: [f32; 2], to: [f32; 2], color: [f32; 4])
Source§fn gungnir(&mut self, rect: Rect, color: [f32; 4], radius: f32, intensity: f32)
fn gungnir(&mut self, rect: Rect, color: [f32; 4], radius: f32, intensity: f32)
Source§fn mani_glow(&mut self, rect: Rect, color: [f32; 4], radius: f32)
fn mani_glow(&mut self, rect: Rect, color: [f32; 4], radius: f32)
Source§fn register_handler(
&mut self,
event_type: &str,
handler: Arc<dyn Fn(Event) + Send + Sync>,
)
fn register_handler( &mut self, event_type: &str, handler: Arc<dyn Fn(Event) + Send + Sync>, )
Source§fn push_vnode(&mut self, rect: Rect, name: &'static str)
fn push_vnode(&mut self, rect: Rect, name: &'static str)
Source§fn set_z_index(&mut self, z: f32)
fn set_z_index(&mut self, z: f32)
Source§fn get_z_index(&self) -> f32
fn get_z_index(&self) -> f32
Source§fn set_material(&mut self, material: DrawMaterial)
fn set_material(&mut self, material: DrawMaterial)
Source§fn current_material(&self) -> DrawMaterial
fn current_material(&self) -> DrawMaterial
Source§fn serialize_svg(&mut self, name: &str) -> Result<String, String>
fn serialize_svg(&mut self, name: &str) -> Result<String, String>
Source§fn apply_svg_filter(
&mut self,
name: &str,
filter_id: &str,
region: Rect,
) -> Result<String, String>
fn apply_svg_filter( &mut self, name: &str, filter_id: &str, region: Rect, ) -> Result<String, String>
Source§fn push_shadow(&mut self, radius: f32, color: [f32; 4], offset: [f32; 2])
fn push_shadow(&mut self, radius: f32, color: [f32; 4], offset: [f32; 2])
Source§fn pop_shadow(&mut self)
fn pop_shadow(&mut self)
Source§fn push_affine(&mut self, transform: [f32; 6])
fn push_affine(&mut self, transform: [f32; 6])
Source§fn enter_portal(&mut self, z_index: i32)
fn enter_portal(&mut self, z_index: i32)
enter_portal and exit_portal are collected
into a separate buffer that is composited AFTER the main tree. Read moreSource§fn exit_portal(&mut self)
fn exit_portal(&mut self)
enter_portal is now sealed –
no more draw calls will be appended to it.Source§fn viewport_size(&self) -> Rect
fn viewport_size(&self) -> Rect
Source§fn announce(&mut self, message: &str, priority: AnnouncementPriority)
fn announce(&mut self, message: &str, priority: AnnouncementPriority)
Source§fn draw_svg_with_offset(
&mut self,
name: &str,
rect: Rect,
animation_time_offset: f32,
)
fn draw_svg_with_offset( &mut self, name: &str, rect: Rect, animation_time_offset: f32, )
Source§fn get_telemetry(&self) -> TelemetryData
fn get_telemetry(&self) -> TelemetryData
Source§fn prewarm_vram(&mut self, assets: Vec<(String, Vec<u8>)>)
fn prewarm_vram(&mut self, assets: Vec<(String, Vec<u8>)>)
Source§fn push_transform(
&mut self,
translation: [f32; 2],
scale: [f32; 2],
rotation: f32,
)
fn push_transform( &mut self, translation: [f32; 2], scale: [f32; 2], rotation: f32, )
Source§fn pop_transform(&mut self)
fn pop_transform(&mut self)
fn set_berserker_mode(&mut self, state: BerserkerMode)
fn set_rage(&mut self, rage: f32)
Source§fn memoize(
&mut self,
id: u64,
data_hash: u64,
render_fn: &dyn Fn(&mut dyn Renderer),
)
fn memoize( &mut self, id: u64, data_hash: u64, render_fn: &dyn Fn(&mut dyn Renderer), )
id + data_hash match a previous run,
it may replay cached commands instead of executing the function.Source§fn snapshot_render_state(&self) -> RenderStateSnapshot
fn snapshot_render_state(&self) -> RenderStateSnapshot
RenderStateSnapshot::default(),
which is safe but does nothing useful – backends with stack state
must override this to record their actual depths.Source§fn restore_render_state(&mut self, snap: RenderStateSnapshot)
fn restore_render_state(&mut self, snap: RenderStateSnapshot)
ErrorBoundary to recover from mid-render
panics so sibling views don’t inherit leaked clip/opacity/transform
state. Idempotent: a no-op if stacks are already at or below the
snapshot depths. Default implementation is a no-op for backends
that have no stack state.Source§fn request_redraw(&mut self)
fn request_redraw(&mut self)
Source§fn draw_background_image(&mut self, image_name: &str, rect: Rect)
fn draw_background_image(&mut self, image_name: &str, rect: Rect)
draw_image for the common case
of a full-rect background. The image must have been pre-warmed via
prewarm_vram before the first frame.Source§fn fill_polygon(&mut self, _vertices: &[[f32; 2]], _color: [f32; 4])
fn fill_polygon(&mut self, _vertices: &[[f32; 2]], _color: [f32; 4])
Source§fn stroke_polygon(
&mut self,
_vertices: &[[f32; 2]],
_color: [f32; 4],
_stroke_width: f32,
)
fn stroke_polygon( &mut self, _vertices: &[[f32; 2]], _color: [f32; 4], _stroke_width: f32, )
Source§fn measure_text_baseline(&mut self, text: &str, size: f32) -> f32
fn measure_text_baseline(&mut self, text: &str, size: f32) -> f32
Source§fn get_pointer_position(&self) -> [f32; 2]
fn get_pointer_position(&self) -> [f32; 2]
Source§fn upload_data_texture(
&mut self,
_id: &str,
_data: &[f32],
_width: u32,
_height: u32,
)
fn upload_data_texture( &mut self, _id: &str, _data: &[f32], _width: u32, _height: u32, )
Source§fn draw_heatmap(&mut self, _texture_id: &str, _rect: Rect, _palette: &str)
fn draw_heatmap(&mut self, _texture_id: &str, _rect: Rect, _palette: &str)
Source§fn draw_mesh_3d(
&mut self,
_mesh: &Mesh,
_material: &Material3D,
_transform: &Transform3D,
)
fn draw_mesh_3d( &mut self, _mesh: &Mesh, _material: &Material3D, _transform: &Transform3D, )
Source§fn set_camera_3d(&mut self, _camera: &Camera3D)
fn set_camera_3d(&mut self, _camera: &Camera3D)
Source§fn push_transform_3d(&mut self, _transform: &Transform3D)
fn push_transform_3d(&mut self, _transform: &Transform3D)
pop_transform_3d.Source§fn pop_transform_3d(&mut self)
fn pop_transform_3d(&mut self)
Source§fn draw_drop_shadow(
&mut self,
_rect: Rect,
_radius: f32,
_color: [f32; 4],
_blur: f32,
_spread: f32,
)
fn draw_drop_shadow( &mut self, _rect: Rect, _radius: f32, _color: [f32; 4], _blur: f32, _spread: f32, )
Source§fn stroke_dashed_rounded_rect(
&mut self,
_rect: Rect,
_radius: f32,
_color: [f32; 4],
_width: f32,
_dash: f32,
_gap: f32,
)
fn stroke_dashed_rounded_rect( &mut self, _rect: Rect, _radius: f32, _color: [f32; 4], _width: f32, _dash: f32, _gap: f32, )
Source§fn draw_9slice(
&mut self,
_image_name: &str,
_rect: Rect,
_left: f32,
_top: f32,
_right: f32,
_bottom: f32,
)
fn draw_9slice( &mut self, _image_name: &str, _rect: Rect, _left: f32, _top: f32, _right: f32, _bottom: f32, )
Source§fn current_clip_rect(&self) -> Rect
fn current_clip_rect(&self) -> Rect
Source§fn set_scene_by_name(&mut self, name: &str)
fn set_scene_by_name(&mut self, name: &str)
Source§fn gungnir_soft(
&mut self,
_rect: Rect,
_color: [f32; 4],
_radius: f32,
_intensity: f32,
)
fn gungnir_soft( &mut self, _rect: Rect, _color: [f32; 4], _radius: f32, _intensity: f32, )
Source§fn dispatch_particles(
&mut self,
_origin: [f32; 2],
_count: u32,
_effect_type: &str,
_color: [f32; 4],
)
fn dispatch_particles( &mut self, _origin: [f32; 2], _count: u32, _effect_type: &str, _color: [f32; 4], )
Source§fn draw_hologram(&mut self, _rect: Rect, _hologram_id: &str, _time: f32)
fn draw_hologram(&mut self, _rect: Rect, _hologram_id: &str, _time: f32)
fn set_aria_role(&mut self, _role: &str)
fn set_aria_label(&mut self, _label: &str)
fn set_aria_valuemin(&mut self, _min: f32)
fn set_aria_valuemax(&mut self, _max: f32)
fn set_aria_valuenow(&mut self, _now: f32)
Source§fn set_key(&mut self, _key: &str)
fn set_key(&mut self, _key: &str)
Source§fn draw_svg_with_order(&mut self, name: &str, rect: Rect, _draw_order: i32)
fn draw_svg_with_order(&mut self, name: &str, rect: Rect, _draw_order: i32)
Source§fn query_layout(&self, _node_id: KvasirId) -> Option<Rect>
fn query_layout(&self, _node_id: KvasirId) -> Option<Rect>
Source§fn set_debug_layout(&mut self, _enabled: bool)
fn set_debug_layout(&mut self, _enabled: bool)
Source§fn get_debug_layout(&self) -> bool
fn get_debug_layout(&self) -> bool
Source§fn mimir_intent(&self) -> [f32; 2]
fn mimir_intent(&self) -> [f32; 2]
Source§fn magnetic_warp(
&self,
pointer: [f32; 2],
anchor_rect: Rect,
strength: f32,
) -> [f32; 2]
fn magnetic_warp( &self, pointer: [f32; 2], anchor_rect: Rect, strength: f32, ) -> [f32; 2]
Source§fn mani_glow_intensity(
&self,
pointer: [f32; 2],
bounds: Rect,
radius: f32,
) -> f32
fn mani_glow_intensity( &self, pointer: [f32; 2], bounds: Rect, radius: f32, ) -> f32
Source§fn fafnir_evolve(&self, pointer: [f32; 2], bounds: Rect, max_scale: f32) -> f32
fn fafnir_evolve(&self, pointer: [f32; 2], bounds: Rect, max_scale: f32) -> f32
Source§fn set_sdf_shape(&mut self, _shape: SdfShape)
fn set_sdf_shape(&mut self, _shape: SdfShape)
Auto Trait Implementations§
impl !RefUnwindSafe for NativeRenderer
impl !UnwindSafe for NativeRenderer
impl Freeze for NativeRenderer
impl Send for NativeRenderer
impl Sync for NativeRenderer
impl Unpin for NativeRenderer
impl UnsafeUnpin for NativeRenderer
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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