Struct servo::gl::ProfilingGl

source ·
pub struct ProfilingGl<F> {
    gl: Rc<dyn Gl>,
    threshold: Duration,
    callback: F,
}
Expand description

A wrapper around GL context that times each call and invokes the callback if the call takes longer than the threshold.

Fields§

§gl: Rc<dyn Gl>§threshold: Duration§callback: F

Implementations§

source§

impl<F> ProfilingGl<F>
where F: 'static + Fn(&str, Duration),

source

pub fn wrap(fns: Rc<dyn Gl>, threshold: Duration, callback: F) -> Rc<dyn Gl>

Trait Implementations§

source§

impl<F> Gl for ProfilingGl<F>
where F: Fn(&str, Duration),

source§

fn get_type(&self) -> GlType

source§

fn buffer_data_untyped( &self, target: u32, size: isize, data: *const c_void, usage: u32 )

source§

fn buffer_sub_data_untyped( &self, target: u32, offset: isize, size: isize, data: *const c_void )

source§

fn map_buffer(&self, target: u32, access: u32) -> *mut c_void

source§

fn map_buffer_range( &self, target: u32, offset: isize, length: isize, access: u32 ) -> *mut c_void

source§

fn unmap_buffer(&self, target: u32) -> u8

source§

fn tex_buffer(&self, target: u32, internal_format: u32, buffer: u32)

source§

fn shader_source(&self, shader: u32, strings: &[&[u8]])

source§

fn read_buffer(&self, mode: u32)

source§

fn read_pixels_into_buffer( &self, x: i32, y: i32, width: i32, height: i32, format: u32, pixel_type: u32, dst_buffer: &mut [u8] )

source§

fn read_pixels( &self, x: i32, y: i32, width: i32, height: i32, format: u32, pixel_type: u32 ) -> Vec<u8>

source§

unsafe fn read_pixels_into_pbo( &self, x: i32, y: i32, width: i32, height: i32, format: u32, pixel_type: u32 )

source§

fn sample_coverage(&self, value: f32, invert: bool)

source§

fn polygon_offset(&self, factor: f32, units: f32)

source§

fn pixel_store_i(&self, name: u32, param: i32)

source§

fn gen_buffers(&self, n: i32) -> Vec<u32>

source§

fn gen_renderbuffers(&self, n: i32) -> Vec<u32>

source§

fn gen_framebuffers(&self, n: i32) -> Vec<u32>

source§

fn gen_textures(&self, n: i32) -> Vec<u32>

source§

fn gen_vertex_arrays(&self, n: i32) -> Vec<u32>

source§

fn gen_vertex_arrays_apple(&self, n: i32) -> Vec<u32>

source§

fn gen_queries(&self, n: i32) -> Vec<u32>

source§

fn begin_query(&self, target: u32, id: u32)

source§

fn end_query(&self, target: u32)

source§

fn query_counter(&self, id: u32, target: u32)

source§

fn get_query_object_iv(&self, id: u32, pname: u32) -> i32

source§

fn get_query_object_uiv(&self, id: u32, pname: u32) -> u32

source§

fn get_query_object_i64v(&self, id: u32, pname: u32) -> i64

source§

fn get_query_object_ui64v(&self, id: u32, pname: u32) -> u64

source§

fn delete_queries(&self, queries: &[u32])

source§

fn delete_vertex_arrays(&self, vertex_arrays: &[u32])

source§

fn delete_vertex_arrays_apple(&self, vertex_arrays: &[u32])

source§

fn delete_buffers(&self, buffers: &[u32])

source§

fn delete_renderbuffers(&self, renderbuffers: &[u32])

source§

fn delete_framebuffers(&self, framebuffers: &[u32])

source§

fn delete_textures(&self, textures: &[u32])

source§

fn framebuffer_renderbuffer( &self, target: u32, attachment: u32, renderbuffertarget: u32, renderbuffer: u32 )

source§

fn renderbuffer_storage( &self, target: u32, internalformat: u32, width: i32, height: i32 )

source§

fn depth_func(&self, func: u32)

source§

fn active_texture(&self, texture: u32)

source§

fn attach_shader(&self, program: u32, shader: u32)

source§

fn bind_attrib_location(&self, program: u32, index: u32, name: &str)

source§

unsafe fn get_uniform_iv(&self, program: u32, location: i32, result: &mut [i32])

source§

unsafe fn get_uniform_fv(&self, program: u32, location: i32, result: &mut [f32])

source§

fn get_uniform_block_index(&self, program: u32, name: &str) -> u32

source§

fn get_uniform_indices(&self, program: u32, names: &[&str]) -> Vec<u32>

source§

fn bind_buffer_base(&self, target: u32, index: u32, buffer: u32)

source§

fn bind_buffer_range( &self, target: u32, index: u32, buffer: u32, offset: isize, size: isize )

source§

fn uniform_block_binding( &self, program: u32, uniform_block_index: u32, uniform_block_binding: u32 )

source§

fn bind_buffer(&self, target: u32, buffer: u32)

source§

fn bind_vertex_array(&self, vao: u32)

source§

fn bind_vertex_array_apple(&self, vao: u32)

source§

fn bind_renderbuffer(&self, target: u32, renderbuffer: u32)

source§

fn bind_framebuffer(&self, target: u32, framebuffer: u32)

source§

fn bind_texture(&self, target: u32, texture: u32)

source§

fn bind_vertex_buffer( &self, binding_index: u32, buffer: u32, offset: isize, stride: i32 )

source§

fn draw_buffers(&self, bufs: &[u32])

source§

fn tex_image_2d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, border: i32, format: u32, ty: u32, opt_data: Option<&[u8]> )

source§

fn compressed_tex_image_2d( &self, target: u32, level: i32, internal_format: u32, width: i32, height: i32, border: i32, data: &[u8] )

source§

fn compressed_tex_sub_image_2d( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, width: i32, height: i32, format: u32, data: &[u8] )

source§

fn tex_image_3d( &self, target: u32, level: i32, internal_format: i32, width: i32, height: i32, depth: i32, border: i32, format: u32, ty: u32, opt_data: Option<&[u8]> )

source§

fn copy_tex_image_2d( &self, target: u32, level: i32, internal_format: u32, x: i32, y: i32, width: i32, height: i32, border: i32 )

source§

fn copy_tex_sub_image_2d( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, x: i32, y: i32, width: i32, height: i32 )

source§

fn copy_tex_sub_image_3d( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, zoffset: i32, x: i32, y: i32, width: i32, height: i32 )

source§

fn tex_sub_image_2d( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, width: i32, height: i32, format: u32, ty: u32, data: &[u8] )

source§

fn tex_sub_image_2d_pbo( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, width: i32, height: i32, format: u32, ty: u32, offset: usize )

source§

fn tex_sub_image_3d( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, zoffset: i32, width: i32, height: i32, depth: i32, format: u32, ty: u32, data: &[u8] )

source§

fn tex_sub_image_3d_pbo( &self, target: u32, level: i32, xoffset: i32, yoffset: i32, zoffset: i32, width: i32, height: i32, depth: i32, format: u32, ty: u32, offset: usize )

source§

fn tex_storage_2d( &self, target: u32, levels: i32, internal_format: u32, width: i32, height: i32 )

source§

fn tex_storage_3d( &self, target: u32, levels: i32, internal_format: u32, width: i32, height: i32, depth: i32 )

source§

fn get_tex_image_into_buffer( &self, target: u32, level: i32, format: u32, ty: u32, output: &mut [u8] )

source§

unsafe fn copy_image_sub_data( &self, src_name: u32, src_target: u32, src_level: i32, src_x: i32, src_y: i32, src_z: i32, dst_name: u32, dst_target: u32, dst_level: i32, dst_x: i32, dst_y: i32, dst_z: i32, src_width: i32, src_height: i32, src_depth: i32 )

source§

fn invalidate_framebuffer(&self, target: u32, attachments: &[u32])

source§

fn invalidate_sub_framebuffer( &self, target: u32, attachments: &[u32], xoffset: i32, yoffset: i32, width: i32, height: i32 )

source§

unsafe fn get_integer_v(&self, name: u32, result: &mut [i32])

source§

unsafe fn get_integer_64v(&self, name: u32, result: &mut [i64])

source§

unsafe fn get_integer_iv(&self, name: u32, index: u32, result: &mut [i32])

source§

unsafe fn get_integer_64iv(&self, name: u32, index: u32, result: &mut [i64])

source§

unsafe fn get_boolean_v(&self, name: u32, result: &mut [u8])

source§

unsafe fn get_float_v(&self, name: u32, result: &mut [f32])

source§

fn get_framebuffer_attachment_parameter_iv( &self, target: u32, attachment: u32, pname: u32 ) -> i32

source§

fn get_renderbuffer_parameter_iv(&self, target: u32, pname: u32) -> i32

source§

fn get_tex_parameter_iv(&self, target: u32, name: u32) -> i32

source§

fn get_tex_parameter_fv(&self, target: u32, name: u32) -> f32

source§

fn tex_parameter_i(&self, target: u32, pname: u32, param: i32)

source§

fn tex_parameter_f(&self, target: u32, pname: u32, param: f32)

source§

fn framebuffer_texture_2d( &self, target: u32, attachment: u32, textarget: u32, texture: u32, level: i32 )

source§

fn framebuffer_texture_layer( &self, target: u32, attachment: u32, texture: u32, level: i32, layer: i32 )

source§

fn blit_framebuffer( &self, src_x0: i32, src_y0: i32, src_x1: i32, src_y1: i32, dst_x0: i32, dst_y0: i32, dst_x1: i32, dst_y1: i32, mask: u32, filter: u32 )

source§

fn vertex_attrib_4f(&self, index: u32, x: f32, y: f32, z: f32, w: f32)

source§

fn vertex_attrib_binding(&self, attrib_index: u32, binding_index: u32)

source§

fn vertex_attrib_pointer_f32( &self, index: u32, size: i32, normalized: bool, stride: i32, offset: u32 )

source§

fn vertex_attrib_pointer( &self, index: u32, size: i32, type_: u32, normalized: bool, stride: i32, offset: u32 )

source§

fn vertex_attrib_i_pointer( &self, index: u32, size: i32, type_: u32, stride: i32, offset: u32 )

source§

fn vertex_attrib_divisor(&self, index: u32, divisor: u32)

source§

fn vertex_attrib_format( &self, attrib_index: u32, size: i32, type_: u32, normalized: bool, relative_offset: u32 )

source§

fn vertex_attrib_i_format( &self, attrib_index: u32, size: i32, type_: u32, relative_offset: u32 )

source§

fn vertex_binding_divisor(&self, binding_index: u32, divisor: u32)

source§

fn viewport(&self, x: i32, y: i32, width: i32, height: i32)

source§

fn scissor(&self, x: i32, y: i32, width: i32, height: i32)

source§

fn line_width(&self, width: f32)

source§

fn use_program(&self, program: u32)

source§

fn validate_program(&self, program: u32)

source§

fn draw_arrays(&self, mode: u32, first: i32, count: i32)

source§

fn draw_arrays_instanced( &self, mode: u32, first: i32, count: i32, primcount: i32 )

source§

fn draw_elements( &self, mode: u32, count: i32, element_type: u32, indices_offset: u32 )

source§

fn draw_elements_instanced( &self, mode: u32, count: i32, element_type: u32, indices_offset: u32, primcount: i32 )

source§

fn blend_color(&self, r: f32, g: f32, b: f32, a: f32)

source§

fn blend_func(&self, sfactor: u32, dfactor: u32)

source§

fn blend_func_separate( &self, src_rgb: u32, dest_rgb: u32, src_alpha: u32, dest_alpha: u32 )

source§

fn blend_equation(&self, mode: u32)

source§

fn blend_equation_separate(&self, mode_rgb: u32, mode_alpha: u32)

source§

fn color_mask(&self, r: bool, g: bool, b: bool, a: bool)

source§

fn cull_face(&self, mode: u32)

source§

fn front_face(&self, mode: u32)

source§

fn enable(&self, cap: u32)

source§

fn disable(&self, cap: u32)

source§

fn hint(&self, param_name: u32, param_val: u32)

source§

fn is_enabled(&self, cap: u32) -> u8

source§

fn is_shader(&self, shader: u32) -> u8

source§

fn is_texture(&self, texture: u32) -> u8

source§

fn is_framebuffer(&self, framebuffer: u32) -> u8

source§

fn is_renderbuffer(&self, renderbuffer: u32) -> u8

source§

fn check_frame_buffer_status(&self, target: u32) -> u32

source§

fn enable_vertex_attrib_array(&self, index: u32)

source§

fn disable_vertex_attrib_array(&self, index: u32)

source§

fn uniform_1f(&self, location: i32, v0: f32)

source§

fn uniform_1fv(&self, location: i32, values: &[f32])

source§

fn uniform_1i(&self, location: i32, v0: i32)

source§

fn uniform_1iv(&self, location: i32, values: &[i32])

source§

fn uniform_1ui(&self, location: i32, v0: u32)

source§

fn uniform_2f(&self, location: i32, v0: f32, v1: f32)

source§

fn uniform_2fv(&self, location: i32, values: &[f32])

source§

fn uniform_2i(&self, location: i32, v0: i32, v1: i32)

source§

fn uniform_2iv(&self, location: i32, values: &[i32])

source§

fn uniform_2ui(&self, location: i32, v0: u32, v1: u32)

source§

fn uniform_3f(&self, location: i32, v0: f32, v1: f32, v2: f32)

source§

fn uniform_3fv(&self, location: i32, values: &[f32])

source§

fn uniform_3i(&self, location: i32, v0: i32, v1: i32, v2: i32)

source§

fn uniform_3iv(&self, location: i32, values: &[i32])

source§

fn uniform_3ui(&self, location: i32, v0: u32, v1: u32, v2: u32)

source§

fn uniform_4f(&self, location: i32, x: f32, y: f32, z: f32, w: f32)

source§

fn uniform_4i(&self, location: i32, x: i32, y: i32, z: i32, w: i32)

source§

fn uniform_4iv(&self, location: i32, values: &[i32])

source§

fn uniform_4ui(&self, location: i32, x: u32, y: u32, z: u32, w: u32)

source§

fn uniform_4fv(&self, location: i32, values: &[f32])

source§

fn uniform_matrix_2fv(&self, location: i32, transpose: bool, value: &[f32])

source§

fn uniform_matrix_3fv(&self, location: i32, transpose: bool, value: &[f32])

source§

fn uniform_matrix_4fv(&self, location: i32, transpose: bool, value: &[f32])

source§

fn depth_mask(&self, flag: bool)

source§

fn depth_range(&self, near: f64, far: f64)

source§

fn get_active_attrib(&self, program: u32, index: u32) -> (i32, u32, String)

source§

fn get_active_uniform(&self, program: u32, index: u32) -> (i32, u32, String)

source§

fn get_active_uniforms_iv( &self, program: u32, indices: Vec<u32>, pname: u32 ) -> Vec<i32>

source§

fn get_active_uniform_block_i( &self, program: u32, index: u32, pname: u32 ) -> i32

source§

fn get_active_uniform_block_iv( &self, program: u32, index: u32, pname: u32 ) -> Vec<i32>

source§

fn get_active_uniform_block_name(&self, program: u32, index: u32) -> String

source§

fn get_attrib_location(&self, program: u32, name: &str) -> i32

source§

fn get_frag_data_location(&self, program: u32, name: &str) -> i32

source§

fn get_uniform_location(&self, program: u32, name: &str) -> i32

source§

fn get_program_info_log(&self, program: u32) -> String

source§

unsafe fn get_program_iv(&self, program: u32, pname: u32, result: &mut [i32])

source§

fn get_program_binary(&self, program: u32) -> (Vec<u8>, u32)

source§

fn program_binary(&self, program: u32, format: u32, binary: &[u8])

source§

fn program_parameter_i(&self, program: u32, pname: u32, value: i32)

source§

unsafe fn get_vertex_attrib_iv( &self, index: u32, pname: u32, result: &mut [i32] )

source§

unsafe fn get_vertex_attrib_fv( &self, index: u32, pname: u32, result: &mut [f32] )

source§

fn get_vertex_attrib_pointer_v(&self, index: u32, pname: u32) -> isize

source§

fn get_buffer_parameter_iv(&self, target: u32, pname: u32) -> i32

source§

fn get_shader_info_log(&self, shader: u32) -> String

source§

fn get_string(&self, which: u32) -> String

source§

fn get_string_i(&self, which: u32, index: u32) -> String

source§

unsafe fn get_shader_iv(&self, shader: u32, pname: u32, result: &mut [i32])

source§

fn get_shader_precision_format( &self, shader_type: u32, precision_type: u32 ) -> (i32, i32, i32)

source§

fn compile_shader(&self, shader: u32)

source§

fn create_program(&self) -> u32

source§

fn delete_program(&self, program: u32)

source§

fn create_shader(&self, shader_type: u32) -> u32

source§

fn delete_shader(&self, shader: u32)

source§

fn detach_shader(&self, program: u32, shader: u32)

source§

fn clear_color(&self, r: f32, g: f32, b: f32, a: f32)

source§

fn clear(&self, buffer_mask: u32)

source§

fn clear_depth(&self, depth: f64)

source§

fn clear_stencil(&self, s: i32)

source§

fn flush(&self)

source§

fn finish(&self)

source§

fn get_error(&self) -> u32

source§

fn stencil_mask(&self, mask: u32)

source§

fn stencil_mask_separate(&self, face: u32, mask: u32)

source§

fn stencil_func(&self, func: u32, ref_: i32, mask: u32)

source§

fn stencil_func_separate(&self, face: u32, func: u32, ref_: i32, mask: u32)

source§

fn stencil_op(&self, sfail: u32, dpfail: u32, dppass: u32)

source§

fn stencil_op_separate(&self, face: u32, sfail: u32, dpfail: u32, dppass: u32)

source§

fn egl_image_target_texture2d_oes(&self, target: u32, image: *const c_void)

source§

fn egl_image_target_renderbuffer_storage_oes( &self, target: u32, image: *const c_void )

source§

fn generate_mipmap(&self, target: u32)

source§

fn insert_event_marker_ext(&self, message: &str)

source§

fn push_group_marker_ext(&self, message: &str)

source§

fn pop_group_marker_ext(&self)

source§

fn debug_message_insert_khr( &self, source: u32, type_: u32, id: u32, severity: u32, message: &str )

source§

fn push_debug_group_khr(&self, source: u32, id: u32, message: &str)

source§

fn pop_debug_group_khr(&self)

source§

fn fence_sync(&self, condition: u32, flags: u32) -> *const __GLsync

source§

fn client_wait_sync( &self, sync: *const __GLsync, flags: u32, timeout: u64 ) -> u32

source§

fn wait_sync(&self, sync: *const __GLsync, flags: u32, timeout: u64)

source§

fn delete_sync(&self, sync: *const __GLsync)

source§

fn texture_range_apple(&self, target: u32, data: &[u8])

source§

fn gen_fences_apple(&self, n: i32) -> Vec<u32>

source§

fn delete_fences_apple(&self, fences: &[u32])

source§

fn set_fence_apple(&self, fence: u32)

source§

fn finish_fence_apple(&self, fence: u32)

source§

fn test_fence_apple(&self, fence: u32)

source§

fn test_object_apple(&self, object: u32, name: u32) -> u8

source§

fn finish_object_apple(&self, object: u32, name: u32)

source§

fn blend_barrier_khr(&self)

source§

fn bind_frag_data_location_indexed( &self, program: u32, color_number: u32, index: u32, name: &str )

source§

fn get_frag_data_index(&self, program: u32, name: &str) -> i32

source§

fn get_debug_messages(&self) -> Vec<DebugMessage>

source§

fn provoking_vertex_angle(&self, mode: u32)

source§

fn copy_texture_chromium( &self, source_id: u32, source_level: i32, dest_target: u32, dest_id: u32, dest_level: i32, internal_format: i32, dest_type: u32, unpack_flip_y: u8, unpack_premultiply_alpha: u8, unpack_unmultiply_alpha: u8 )

source§

fn copy_sub_texture_chromium( &self, source_id: u32, source_level: i32, dest_target: u32, dest_id: u32, dest_level: i32, x_offset: i32, y_offset: i32, x: i32, y: i32, width: i32, height: i32, unpack_flip_y: u8, unpack_premultiply_alpha: u8, unpack_unmultiply_alpha: u8 )

source§

fn copy_texture_3d_angle( &self, source_id: u32, source_level: i32, dest_target: u32, dest_id: u32, dest_level: i32, internal_format: i32, dest_type: u32, unpack_flip_y: u8, unpack_premultiply_alpha: u8, unpack_unmultiply_alpha: u8 )

source§

fn copy_sub_texture_3d_angle( &self, source_id: u32, source_level: i32, dest_target: u32, dest_id: u32, dest_level: i32, x_offset: i32, y_offset: i32, z_offset: i32, x: i32, y: i32, z: i32, width: i32, height: i32, depth: i32, unpack_flip_y: u8, unpack_premultiply_alpha: u8, unpack_unmultiply_alpha: u8 )

source§

fn buffer_storage( &self, target: u32, size: isize, data: *const c_void, flags: u32 )

source§

fn flush_mapped_buffer_range(&self, target: u32, offset: isize, length: isize)

source§

fn start_tiling_qcom( &self, x: u32, y: u32, width: u32, height: u32, preserve_mask: u32 )

source§

fn end_tiling_qcom(&self, preserve_mask: u32)

Auto Trait Implementations§

§

impl<F> Freeze for ProfilingGl<F>
where F: Freeze,

§

impl<F> !RefUnwindSafe for ProfilingGl<F>

§

impl<F> !Send for ProfilingGl<F>

§

impl<F> !Sync for ProfilingGl<F>

§

impl<F> Unpin for ProfilingGl<F>
where F: Unpin,

§

impl<F> !UnwindSafe for ProfilingGl<F>

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> Downcast<T> for T

source§

fn downcast(&self) -> &T

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<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<T> MaybeBoxed<Box<T>> for T

source§

fn maybe_boxed(self) -> Box<T>

Convert
source§

impl<T> MaybeBoxed<T> for T

source§

fn maybe_boxed(self) -> T

Convert
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

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
source§

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T