pub struct MeshMaterial2d<M>(pub Handle<M>)
where
M: Material2d;
Expand description
A material used for rendering a Mesh2d
.
See Material2d
for general information about 2D materials and how to implement your own materials.
§Example
// Spawn an entity with a mesh using `ColorMaterial`.
fn setup(
mut commands: Commands,
mut meshes: ResMut<Assets<Mesh>>,
mut materials: ResMut<Assets<ColorMaterial>>,
) {
commands.spawn((
Mesh2d(meshes.add(Circle::new(50.0))),
MeshMaterial2d(materials.add(ColorMaterial::from_color(RED))),
));
}
Tuple Fields§
§0: Handle<M>
Methods from Deref<Target = Handle<M>>§
Sourcepub fn id(&self) -> AssetId<A>
pub fn id(&self) -> AssetId<A>
Examples found in repository?
examples/stress_tests/many_text2d.rs (line 180)
167fn print_counts(
168 time: Res<Time>,
169 mut timer: Local<PrintingTimer>,
170 texts: Query<&ViewVisibility, With<Text2d>>,
171 atlases: Res<FontAtlasSets>,
172 font: Res<FontHandle>,
173) {
174 timer.tick(time.delta());
175 if !timer.just_finished() {
176 return;
177 }
178
179 let num_atlases = atlases
180 .get(font.0.id())
181 .map(|set| set.iter().map(|atlas| atlas.1.len()).sum())
182 .unwrap_or(0);
183
184 let visible_texts = texts.iter().filter(|visibility| visibility.get()).count();
185
186 info!(
187 "Texts: {} Visible: {} Atlases: {}",
188 texts.iter().count(),
189 visible_texts,
190 num_atlases
191 );
192}
More examples
examples/3d/tonemapping.rs (line 243)
222fn resize_image(
223 image_mesh: Query<(&MeshMaterial3d<StandardMaterial>, &Mesh3d), With<HDRViewer>>,
224 materials: Res<Assets<StandardMaterial>>,
225 mut meshes: ResMut<Assets<Mesh>>,
226 images: Res<Assets<Image>>,
227 mut image_events: EventReader<AssetEvent<Image>>,
228) {
229 for event in image_events.read() {
230 let (AssetEvent::Added { id } | AssetEvent::Modified { id }) = event else {
231 continue;
232 };
233
234 for (mat_h, mesh_h) in &image_mesh {
235 let Some(mat) = materials.get(mat_h) else {
236 continue;
237 };
238
239 let Some(ref base_color_texture) = mat.base_color_texture else {
240 continue;
241 };
242
243 if *id != base_color_texture.id() {
244 continue;
245 };
246
247 let Some(image_changed) = images.get(*id) else {
248 continue;
249 };
250
251 let size = image_changed.size_f32().normalize_or_zero() * 1.4;
252 // Resize Mesh
253 let quad = Mesh::from(Rectangle::from_size(size));
254 meshes.insert(mesh_h, quad);
255 }
256 }
257}
examples/shader/array_texture.rs (line 60)
50fn create_array_texture(
51 mut commands: Commands,
52 asset_server: Res<AssetServer>,
53 mut loading_texture: ResMut<LoadingTexture>,
54 mut images: ResMut<Assets<Image>>,
55 mut meshes: ResMut<Assets<Mesh>>,
56 mut materials: ResMut<Assets<ArrayTextureMaterial>>,
57) {
58 if loading_texture.is_loaded
59 || !asset_server
60 .load_state(loading_texture.handle.id())
61 .is_loaded()
62 {
63 return;
64 }
65 loading_texture.is_loaded = true;
66 let image = images.get_mut(&loading_texture.handle).unwrap();
67
68 // Create a new array texture asset from the loaded texture.
69 let array_layers = 4;
70 image.reinterpret_stacked_2d_as_array(array_layers);
71
72 // Spawn some cubes using the array texture
73 let mesh_handle = meshes.add(Cuboid::default());
74 let material_handle = materials.add(ArrayTextureMaterial {
75 array_texture: loading_texture.handle.clone(),
76 });
77 for x in -5..=5 {
78 commands.spawn((
79 Mesh3d(mesh_handle.clone()),
80 MeshMaterial3d(material_handle.clone()),
81 Transform::from_xyz(x as f32 + 0.5, 0.0, 0.0),
82 ));
83 }
84}
examples/2d/mesh2d_manual.rs (line 362)
328pub fn extract_colored_mesh2d(
329 mut commands: Commands,
330 mut previous_len: Local<usize>,
331 // When extracting, you must use `Extract` to mark the `SystemParam`s
332 // which should be taken from the main world.
333 query: Extract<
334 Query<
335 (
336 Entity,
337 RenderEntity,
338 &ViewVisibility,
339 &GlobalTransform,
340 &Mesh2d,
341 ),
342 With<ColoredMesh2d>,
343 >,
344 >,
345 mut render_mesh_instances: ResMut<RenderColoredMesh2dInstances>,
346) {
347 let mut values = Vec::with_capacity(*previous_len);
348 for (entity, render_entity, view_visibility, transform, handle) in &query {
349 if !view_visibility.get() {
350 continue;
351 }
352
353 let transforms = Mesh2dTransforms {
354 world_from_local: (&transform.affine()).into(),
355 flags: MeshFlags::empty().bits(),
356 };
357
358 values.push((render_entity, ColoredMesh2d));
359 render_mesh_instances.insert(
360 entity.into(),
361 RenderMesh2dInstance {
362 mesh_asset_id: handle.0.id(),
363 transforms,
364 material_bind_group_id: Material2dBindGroupId::default(),
365 automatic_batching: false,
366 tag: 0,
367 },
368 );
369 }
370 *previous_len = values.len();
371 commands.try_insert_batch(values);
372}
examples/3d/edit_material_on_gltf.rs (line 78)
59fn change_material(
60 trigger: Trigger<SceneInstanceReady>,
61 mut commands: Commands,
62 children: Query<&Children>,
63 color_override: Query<&ColorOverride>,
64 mesh_materials: Query<&MeshMaterial3d<StandardMaterial>>,
65 mut asset_materials: ResMut<Assets<StandardMaterial>>,
66) {
67 // Get the `ColorOverride` of the entity, if it does not have a color override, skip
68 let Ok(color_override) = color_override.get(trigger.target()) else {
69 return;
70 };
71
72 // Iterate over all children recursively
73 for descendants in children.iter_descendants(trigger.target()) {
74 // Get the material of the descendant
75 if let Some(material) = mesh_materials
76 .get(descendants)
77 .ok()
78 .and_then(|id| asset_materials.get_mut(id.id()))
79 {
80 // Create a copy of the material and override base color
81 // If you intend on creating multiple models with the same tint, it
82 // is best to cache the handle somewhere, as having multiple materials
83 // that are identical is expensive
84 let mut new_material = material.clone();
85 new_material.base_color = color_override.0;
86
87 // Override `MeshMaterial3d` with new material
88 commands
89 .entity(descendants)
90 .insert(MeshMaterial3d(asset_materials.add(new_material)));
91 }
92 }
93}
examples/app/headless_renderer.rs (line 493)
472fn update(
473 images_to_save: Query<&ImageToSave>,
474 receiver: Res<MainWorldReceiver>,
475 mut images: ResMut<Assets<Image>>,
476 mut scene_controller: ResMut<SceneController>,
477 mut app_exit_writer: EventWriter<AppExit>,
478 mut file_number: Local<u32>,
479) {
480 if let SceneState::Render(n) = scene_controller.state {
481 if n < 1 {
482 // We don't want to block the main world on this,
483 // so we use try_recv which attempts to receive without blocking
484 let mut image_data = Vec::new();
485 while let Ok(data) = receiver.try_recv() {
486 // image generation could be faster than saving to fs,
487 // that's why use only last of them
488 image_data = data;
489 }
490 if !image_data.is_empty() {
491 for image in images_to_save.iter() {
492 // Fill correct data from channel to image
493 let img_bytes = images.get_mut(image.id()).unwrap();
494
495 // We need to ensure that this works regardless of the image dimensions
496 // If the image became wider when copying from the texture to the buffer,
497 // then the data is reduced to its original size when copying from the buffer to the image.
498 let row_bytes = img_bytes.width() as usize
499 * img_bytes.texture_descriptor.format.pixel_size();
500 let aligned_row_bytes = RenderDevice::align_copy_bytes_per_row(row_bytes);
501 if row_bytes == aligned_row_bytes {
502 img_bytes.data.as_mut().unwrap().clone_from(&image_data);
503 } else {
504 // shrink data to original image size
505 img_bytes.data = Some(
506 image_data
507 .chunks(aligned_row_bytes)
508 .take(img_bytes.height() as usize)
509 .flat_map(|row| &row[..row_bytes.min(row.len())])
510 .cloned()
511 .collect(),
512 );
513 }
514
515 // Create RGBA Image Buffer
516 let img = match img_bytes.clone().try_into_dynamic() {
517 Ok(img) => img.to_rgba8(),
518 Err(e) => panic!("Failed to create image buffer {e:?}"),
519 };
520
521 // Prepare directory for images, test_images in bevy folder is used here for example
522 // You should choose the path depending on your needs
523 let images_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("test_images");
524 info!("Saving image to: {images_dir:?}");
525 std::fs::create_dir_all(&images_dir).unwrap();
526
527 // Choose filename starting from 000.png
528 let image_path = images_dir.join(format!("{:03}.png", file_number.deref()));
529 *file_number.deref_mut() += 1;
530
531 // Finally saving image to file, this heavy blocking operation is kept here
532 // for example simplicity, but in real app you should move it to a separate task
533 if let Err(e) = img.save(image_path) {
534 panic!("Failed to save image: {e}");
535 };
536 }
537 if scene_controller.single_image {
538 app_exit_writer.write(AppExit::Success);
539 }
540 }
541 } else {
542 // clears channel for skipped frames
543 while receiver.try_recv().is_ok() {}
544 scene_controller.state = SceneState::Render(n - 1);
545 }
546 }
547}
Sourcepub fn path(&self) -> Option<&AssetPath<'static>>
pub fn path(&self) -> Option<&AssetPath<'static>>
Returns the path if this is (1) a strong handle and (2) the asset has a path
Sourcepub fn clone_weak(&self) -> Handle<A>
pub fn clone_weak(&self) -> Handle<A>
Creates a Handle::Weak
clone of this Handle
, which will not keep the referenced Asset
alive.
Trait Implementations§
Source§impl<M> AsAssetId for MeshMaterial2d<M>where
M: Material2d,
impl<M> AsAssetId for MeshMaterial2d<M>where
M: Material2d,
Source§fn as_asset_id(&self) -> AssetId<<MeshMaterial2d<M> as AsAssetId>::Asset>
fn as_asset_id(&self) -> AssetId<<MeshMaterial2d<M> as AsAssetId>::Asset>
Retrieves the asset id from this component.
Source§impl<M> Clone for MeshMaterial2d<M>where
M: Clone + Material2d,
impl<M> Clone for MeshMaterial2d<M>where
M: Clone + Material2d,
Source§fn clone(&self) -> MeshMaterial2d<M>
fn clone(&self) -> MeshMaterial2d<M>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<M> Component for MeshMaterial2d<M>
impl<M> Component for MeshMaterial2d<M>
Source§const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
const STORAGE_TYPE: StorageType = bevy_ecs::component::StorageType::Table
A constant indicating the storage type used for this component.
Source§type Mutability = Mutable
type Mutability = Mutable
A marker type to assist Bevy with determining if this component is
mutable, or immutable. Mutable components will have [
Component<Mutability = Mutable>
],
while immutable components will instead have [Component<Mutability = Immutable>
]. Read moreSource§fn register_required_components(
requiree: ComponentId,
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
inheritance_depth: u16,
recursion_check_stack: &mut Vec<ComponentId>,
)
fn register_required_components( requiree: ComponentId, components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, inheritance_depth: u16, recursion_check_stack: &mut Vec<ComponentId>, )
Registers required components.
Source§fn clone_behavior() -> ComponentCloneBehavior
fn clone_behavior() -> ComponentCloneBehavior
Called when registering this component, allowing to override clone function (or disable cloning altogether) for this component. Read more
Source§fn register_component_hooks(hooks: &mut ComponentHooks)
fn register_component_hooks(hooks: &mut ComponentHooks)
👎Deprecated since 0.16.0: Use the individual hook methods instead (e.g.,
Component::on_add
, etc.)Called when registering this component, allowing mutable access to its
ComponentHooks
.Source§fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_add() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_insert() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_replace() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_remove() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
fn on_despawn() -> Option<for<'w> fn(DeferredWorld<'w>, HookContext)>
Source§fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
fn map_entities<E>(_this: &mut Self, _mapper: &mut E)where
E: EntityMapper,
Maps the entities on this component using the given
EntityMapper
. This is used to remap entities in contexts like scenes and entity cloning.
When deriving Component
, this is populated by annotating fields containing entities with #[entities]
Read moreSource§impl<M> Debug for MeshMaterial2d<M>where
M: Debug + Material2d,
impl<M> Debug for MeshMaterial2d<M>where
M: Debug + Material2d,
Source§impl<M> Default for MeshMaterial2d<M>where
M: Material2d,
impl<M> Default for MeshMaterial2d<M>where
M: Material2d,
Source§fn default() -> MeshMaterial2d<M>
fn default() -> MeshMaterial2d<M>
Returns the “default value” for a type. Read more
Source§impl<M> Deref for MeshMaterial2d<M>where
M: Material2d,
impl<M> Deref for MeshMaterial2d<M>where
M: Material2d,
Source§impl<M> DerefMut for MeshMaterial2d<M>where
M: Material2d,
impl<M> DerefMut for MeshMaterial2d<M>where
M: Material2d,
Source§impl<M> From<&MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
impl<M> From<&MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
Source§fn from(material: &MeshMaterial2d<M>) -> AssetId<M>
fn from(material: &MeshMaterial2d<M>) -> AssetId<M>
Converts to this type from the input type.
Source§impl<M> From<Handle<M>> for MeshMaterial2d<M>where
M: Material2d,
impl<M> From<Handle<M>> for MeshMaterial2d<M>where
M: Material2d,
Source§fn from(value: Handle<M>) -> MeshMaterial2d<M>
fn from(value: Handle<M>) -> MeshMaterial2d<M>
Converts to this type from the input type.
Source§impl<M> From<MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
impl<M> From<MeshMaterial2d<M>> for AssetId<M>where
M: Material2d,
Source§fn from(material: MeshMaterial2d<M>) -> AssetId<M>
fn from(material: MeshMaterial2d<M>) -> AssetId<M>
Converts to this type from the input type.
Source§impl<M> FromArg for &'static MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> FromArg for &'static MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> FromArg for &'static mut MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> FromArg for &'static mut MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> FromArg for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> FromArg for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> FromReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> FromReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn from_reflect(
reflect: &(dyn PartialReflect + 'static),
) -> Option<MeshMaterial2d<M>>
fn from_reflect( reflect: &(dyn PartialReflect + 'static), ) -> Option<MeshMaterial2d<M>>
Constructs a concrete instance of
Self
from a reflected value.Source§fn take_from_reflect(
reflect: Box<dyn PartialReflect>,
) -> Result<Self, Box<dyn PartialReflect>>
fn take_from_reflect( reflect: Box<dyn PartialReflect>, ) -> Result<Self, Box<dyn PartialReflect>>
Attempts to downcast the given value to
Self
using,
constructing the value using from_reflect
if that fails. Read moreSource§impl<M> GetOwnership for &MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> GetOwnership for &MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> GetOwnership for &mut MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> GetOwnership for &mut MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> GetOwnership for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> GetOwnership for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§impl<M> GetTypeRegistration for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> GetTypeRegistration for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_type_registration() -> TypeRegistration
fn get_type_registration() -> TypeRegistration
Returns the default
TypeRegistration
for this type.Source§fn register_type_dependencies(registry: &mut TypeRegistry)
fn register_type_dependencies(registry: &mut TypeRegistry)
Registers other types needed by this type. Read more
Source§impl<M> IntoReturn for &MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> IntoReturn for &MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&MeshMaterial2d<M>: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&MeshMaterial2d<M>: 'into_return,
Source§impl<M> IntoReturn for &mut MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> IntoReturn for &mut MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
&mut MeshMaterial2d<M>: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
&mut MeshMaterial2d<M>: 'into_return,
Source§impl<M> IntoReturn for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> IntoReturn for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_return<'into_return>(self) -> Return<'into_return>where
MeshMaterial2d<M>: 'into_return,
fn into_return<'into_return>(self) -> Return<'into_return>where
MeshMaterial2d<M>: 'into_return,
Source§impl<M> PartialEq for MeshMaterial2d<M>where
M: Material2d,
impl<M> PartialEq for MeshMaterial2d<M>where
M: Material2d,
Source§impl<M> PartialReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> PartialReflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
Source§fn try_apply(
&mut self,
value: &(dyn PartialReflect + 'static),
) -> Result<(), ApplyError>
fn try_apply( &mut self, value: &(dyn PartialReflect + 'static), ) -> Result<(), ApplyError>
Source§fn reflect_kind(&self) -> ReflectKind
fn reflect_kind(&self) -> ReflectKind
Returns a zero-sized enumeration of “kinds” of type. Read more
Source§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
Returns an immutable enumeration of “kinds” of type. Read more
Source§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
Returns a mutable enumeration of “kinds” of type. Read more
Source§fn reflect_owned(self: Box<MeshMaterial2d<M>>) -> ReflectOwned
fn reflect_owned(self: Box<MeshMaterial2d<M>>) -> ReflectOwned
Returns an owned enumeration of “kinds” of type. Read more
Source§fn try_into_reflect(
self: Box<MeshMaterial2d<M>>,
) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
fn try_into_reflect( self: Box<MeshMaterial2d<M>>, ) -> Result<Box<dyn Reflect>, Box<dyn PartialReflect>>
Attempts to cast this type to a boxed, fully-reflected value.
Source§fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
fn try_as_reflect(&self) -> Option<&(dyn Reflect + 'static)>
Attempts to cast this type to a fully-reflected value.
Source§fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
fn try_as_reflect_mut(&mut self) -> Option<&mut (dyn Reflect + 'static)>
Attempts to cast this type to a mutable, fully-reflected value.
Source§fn into_partial_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn PartialReflect>
fn into_partial_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn PartialReflect>
Casts this type to a boxed, reflected value. Read more
Source§fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
fn as_partial_reflect(&self) -> &(dyn PartialReflect + 'static)
Casts this type to a reflected value. Read more
Source§fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
fn as_partial_reflect_mut(&mut self) -> &mut (dyn PartialReflect + 'static)
Casts this type to a mutable, reflected value. Read more
Source§fn reflect_partial_eq(
&self,
value: &(dyn PartialReflect + 'static),
) -> Option<bool>
fn reflect_partial_eq( &self, value: &(dyn PartialReflect + 'static), ) -> Option<bool>
Returns a “partial equality” comparison result. Read more
Source§fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
fn reflect_clone(&self) -> Result<Box<dyn Reflect>, ReflectCloneError>
Attempts to clone
Self
using reflection. Read moreSource§fn apply(&mut self, value: &(dyn PartialReflect + 'static))
fn apply(&mut self, value: &(dyn PartialReflect + 'static))
Applies a reflected value to this value. Read more
Source§fn clone_value(&self) -> Box<dyn PartialReflect>
fn clone_value(&self) -> Box<dyn PartialReflect>
👎Deprecated since 0.16.0: to clone reflected values, prefer using
reflect_clone
. To convert reflected values to dynamic ones, use to_dynamic
.Clones
Self
into its dynamic representation. Read moreSource§fn to_dynamic(&self) -> Box<dyn PartialReflect>
fn to_dynamic(&self) -> Box<dyn PartialReflect>
Source§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
Returns a hash of the value (which includes the type). Read more
Source§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Debug formatter for the value. Read more
Source§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
Indicates whether or not this type is a dynamic type. Read more
Source§impl<M> Reflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> Reflect for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn into_any(self: Box<MeshMaterial2d<M>>) -> Box<dyn Any>
fn into_any(self: Box<MeshMaterial2d<M>>) -> Box<dyn Any>
Returns the value as a
Box<dyn Any>
. Read moreSource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Returns the value as a
&mut dyn Any
. Read moreSource§fn into_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn Reflect>
fn into_reflect(self: Box<MeshMaterial2d<M>>) -> Box<dyn Reflect>
Casts this type to a boxed, fully-reflected value.
Source§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
Casts this type to a fully-reflected value.
Source§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
Casts this type to a mutable, fully-reflected value.
Source§impl<M> TupleStruct for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> TupleStruct for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
Source§fn field(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
fn field(&self, index: usize) -> Option<&(dyn PartialReflect + 'static)>
Returns a reference to the value of the field with index
index
as a
&dyn Reflect
.Source§fn field_mut(
&mut self,
index: usize,
) -> Option<&mut (dyn PartialReflect + 'static)>
fn field_mut( &mut self, index: usize, ) -> Option<&mut (dyn PartialReflect + 'static)>
Returns a mutable reference to the value of the field with index
index
as a &mut dyn Reflect
.Source§fn iter_fields(&self) -> TupleStructFieldIter<'_> ⓘ
fn iter_fields(&self) -> TupleStructFieldIter<'_> ⓘ
Returns an iterator over the values of the tuple struct’s fields.
Source§fn to_dynamic_tuple_struct(&self) -> DynamicTupleStruct
fn to_dynamic_tuple_struct(&self) -> DynamicTupleStruct
Creates a new
DynamicTupleStruct
from this tuple struct.Source§fn clone_dynamic(&self) -> DynamicTupleStruct
fn clone_dynamic(&self) -> DynamicTupleStruct
👎Deprecated since 0.16.0: use
to_dynamic_tuple_struct
insteadClones the struct into a
DynamicTupleStruct
.Source§fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
fn get_represented_tuple_struct_info(&self) -> Option<&'static TupleStructInfo>
Will return
None
if TypeInfo
is not available.Source§impl<M> TypePath for MeshMaterial2d<M>
impl<M> TypePath for MeshMaterial2d<M>
Source§fn type_path() -> &'static str
fn type_path() -> &'static str
Returns the fully qualified path of the underlying type. Read more
Source§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
Returns a short, pretty-print enabled path to the type. Read more
Source§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
Source§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
Source§impl<M> Typed for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> Typed for MeshMaterial2d<M>where
M: Material2d + TypePath,
MeshMaterial2d<M>: Any + Send + Sync,
Handle<M>: FromReflect + TypePath + MaybeTyped + RegisterForReflection,
impl<M> Eq for MeshMaterial2d<M>where
M: Material2d,
Auto Trait Implementations§
impl<M> Freeze for MeshMaterial2d<M>
impl<M> !RefUnwindSafe for MeshMaterial2d<M>
impl<M> Send for MeshMaterial2d<M>
impl<M> Sync for MeshMaterial2d<M>
impl<M> Unpin for MeshMaterial2d<M>
impl<M> !UnwindSafe for MeshMaterial2d<M>
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
Return the
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.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
Mutably borrows from an owned value. Read more
Source§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere
C: Component,
fn component_ids( components: &mut ComponentsRegistrator<'_>, ids: &mut impl FnMut(ComponentId), )
Source§fn register_required_components(
components: &mut ComponentsRegistrator<'_>,
required_components: &mut RequiredComponents,
)
fn register_required_components( components: &mut ComponentsRegistrator<'_>, required_components: &mut RequiredComponents, )
Registers components that are required by the components in this
Bundle
.Source§fn get_component_ids(
components: &Components,
ids: &mut impl FnMut(Option<ComponentId>),
)
fn get_component_ids( components: &Components, ids: &mut impl FnMut(Option<ComponentId>), )
Source§impl<C> BundleFromComponents for Cwhere
C: Component,
impl<C> BundleFromComponents for Cwhere
C: Component,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn 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>
Converts
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which 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)
Converts
&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)
Converts
&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> 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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<C> DynamicBundle for Cwhere
C: Component,
impl<C> DynamicBundle for Cwhere
C: Component,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_>), ) -> <C as DynamicBundle>::Effect
Source§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere
T: TypePath,
Source§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
See
TypePath::type_path
.Source§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
Source§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
See
TypePath::type_ident
.Source§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
See
TypePath::crate_name
.Source§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
Source§impl<T> DynamicTyped for Twhere
T: Typed,
impl<T> DynamicTyped for Twhere
T: Typed,
Source§fn reflect_type_info(&self) -> &'static TypeInfo
fn reflect_type_info(&self) -> &'static TypeInfo
See
Typed::type_info
.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self
using default()
.
Source§impl<T> GetPath for T
impl<T> GetPath for T
Source§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p>, ) -> Result<&(dyn PartialReflect + 'static), ReflectPathError<'p>>
Returns a reference to the value specified by
path
. Read moreSource§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p>, ) -> Result<&mut (dyn PartialReflect + 'static), ReflectPathError<'p>>
Returns a mutable reference to the value specified by
path
. Read moreSource§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>(
&self,
path: impl ReflectPath<'p>,
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
Returns a statically typed reference to the value specified by
path
. Read moreSource§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>,
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
Returns a statically typed mutable reference to the value specified by
path
. Read moreSource§impl<S> GetTupleStructField for Swhere
S: TupleStruct,
impl<S> GetTupleStructField for Swhere
S: TupleStruct,
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> ⓘ
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 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> ⓘ
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§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,
Borrows
self
and passes that borrow into the pipe function. Read moreSource§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,
Mutably borrows
self
and passes that borrow into the pipe function. Read moreSource§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
Source§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
Source§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
Borrows
self
, then passes self.as_ref()
into the pipe function.Source§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
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.Source§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
Borrows
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§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
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.Source§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
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.