Files
phy/bevy_render/settings/struct.WgpuLimits.html
Orion Kindel 0ce894e6b0 doc
2025-03-18 10:30:23 -05:00

288 lines
113 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Represents the sets of limits an adapter/device supports."><title>WgpuLimits in bevy_render::settings - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="bevy_render" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../../static.files/storage-59e33391.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-893ab5e7.css"></noscript><link rel="icon" href="https://bevyengine.org/assets/icon.png"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../../bevy_render/index.html"><img src="https://bevyengine.org/assets/icon.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../../bevy_render/index.html"><img src="https://bevyengine.org/assets/icon.png" alt="logo"></a><h2><a href="../../bevy_render/index.html">bevy_<wbr>render</a><span class="version">0.15.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Wgpu<wbr>Limits</a></h2><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.max_bind_groups" title="max_bind_groups">max_bind_groups</a></li><li><a href="#structfield.max_bindings_per_bind_group" title="max_bindings_per_bind_group">max_bindings_per_bind_group</a></li><li><a href="#structfield.max_buffer_size" title="max_buffer_size">max_buffer_size</a></li><li><a href="#structfield.max_color_attachment_bytes_per_sample" title="max_color_attachment_bytes_per_sample">max_color_attachment_bytes_per_sample</a></li><li><a href="#structfield.max_color_attachments" title="max_color_attachments">max_color_attachments</a></li><li><a href="#structfield.max_compute_invocations_per_workgroup" title="max_compute_invocations_per_workgroup">max_compute_invocations_per_workgroup</a></li><li><a href="#structfield.max_compute_workgroup_size_x" title="max_compute_workgroup_size_x">max_compute_workgroup_size_x</a></li><li><a href="#structfield.max_compute_workgroup_size_y" title="max_compute_workgroup_size_y">max_compute_workgroup_size_y</a></li><li><a href="#structfield.max_compute_workgroup_size_z" title="max_compute_workgroup_size_z">max_compute_workgroup_size_z</a></li><li><a href="#structfield.max_compute_workgroup_storage_size" title="max_compute_workgroup_storage_size">max_compute_workgroup_storage_size</a></li><li><a href="#structfield.max_compute_workgroups_per_dimension" title="max_compute_workgroups_per_dimension">max_compute_workgroups_per_dimension</a></li><li><a href="#structfield.max_dynamic_storage_buffers_per_pipeline_layout" title="max_dynamic_storage_buffers_per_pipeline_layout">max_dynamic_storage_buffers_per_pipeline_layout</a></li><li><a href="#structfield.max_dynamic_uniform_buffers_per_pipeline_layout" title="max_dynamic_uniform_buffers_per_pipeline_layout">max_dynamic_uniform_buffers_per_pipeline_layout</a></li><li><a href="#structfield.max_inter_stage_shader_components" title="max_inter_stage_shader_components">max_inter_stage_shader_components</a></li><li><a href="#structfield.max_non_sampler_bindings" title="max_non_sampler_bindings">max_non_sampler_bindings</a></li><li><a href="#structfield.max_push_constant_size" title="max_push_constant_size">max_push_constant_size</a></li><li><a href="#structfield.max_sampled_textures_per_shader_stage" title="max_sampled_textures_per_shader_stage">max_sampled_textures_per_shader_stage</a></li><li><a href="#structfield.max_samplers_per_shader_stage" title="max_samplers_per_shader_stage">max_samplers_per_shader_stage</a></li><li><a href="#structfield.max_storage_buffer_binding_size" title="max_storage_buffer_binding_size">max_storage_buffer_binding_size</a></li><li><a href="#structfield.max_storage_buffers_per_shader_stage" title="max_storage_buffers_per_shader_stage">max_storage_buffers_per_shader_stage</a></li><li><a href="#structfield.max_storage_textures_per_shader_stage" title="max_storage_textures_per_shader_stage">max_storage_textures_per_shader_stage</a></li><li><a href="#structfield.max_subgroup_size" title="max_subgroup_size">max_subgroup_size</a></li><li><a href="#structfield.max_texture_array_layers" title="max_texture_array_layers">max_texture_array_layers</a></li><li><a href="#structfield.max_texture_dimension_1d" title="max_texture_dimension_1d">max_texture_dimension_1d</a></li><li><a href="#structfield.max_texture_dimension_2d" title="max_texture_dimension_2d">max_texture_dimension_2d</a></li><li><a href="#structfield.max_texture_dimension_3d" title="max_texture_dimension_3d">max_texture_dimension_3d</a></li><li><a href="#structfield.max_uniform_buffer_binding_size" title="max_uniform_buffer_binding_size">max_uniform_buffer_binding_size</a></li><li><a href="#structfield.max_uniform_buffers_per_shader_stage" title="max_uniform_buffers_per_shader_stage">max_uniform_buffers_per_shader_stage</a></li><li><a href="#structfield.max_vertex_attributes" title="max_vertex_attributes">max_vertex_attributes</a></li><li><a href="#structfield.max_vertex_buffer_array_stride" title="max_vertex_buffer_array_stride">max_vertex_buffer_array_stride</a></li><li><a href="#structfield.max_vertex_buffers" title="max_vertex_buffers">max_vertex_buffers</a></li><li><a href="#structfield.min_storage_buffer_offset_alignment" title="min_storage_buffer_offset_alignment">min_storage_buffer_offset_alignment</a></li><li><a href="#structfield.min_subgroup_size" title="min_subgroup_size">min_subgroup_size</a></li><li><a href="#structfield.min_uniform_buffer_offset_alignment" title="min_uniform_buffer_offset_alignment">min_uniform_buffer_offset_alignment</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.check_limits" title="check_limits">check_limits</a></li><li><a href="#method.check_limits_with_fail_fn" title="check_limits_with_fail_fn">check_limits_with_fail_fn</a></li><li><a href="#method.downlevel_defaults" title="downlevel_defaults">downlevel_defaults</a></li><li><a href="#method.downlevel_webgl2_defaults" title="downlevel_webgl2_defaults">downlevel_webgl2_defaults</a></li><li><a href="#method.using_alignment" title="using_alignment">using_alignment</a></li><li><a href="#method.using_resolution" title="using_resolution">using_resolution</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Limits" title="Clone">Clone</a></li><li><a href="#impl-Debug-for-Limits" title="Debug">Debug</a></li><li><a href="#impl-Default-for-Limits" title="Default">Default</a></li><li><a href="#impl-Eq-for-Limits" title="Eq">Eq</a></li><li><a href="#impl-Hash-for-Limits" title="Hash">Hash</a></li><li><a href="#impl-PartialEq-for-Limits" title="PartialEq">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-Limits" title="StructuralPartialEq">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Limits" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Limits" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Limits" title="Send">Send</a></li><li><a href="#impl-Sync-for-Limits" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Limits" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Limits" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-AsBindGroupShaderType%3CU%3E-for-T" title="AsBindGroupShaderType&#60;U&#62;">AsBindGroupShaderType&#60;U&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow&#60;T&#62;">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut&#60;T&#62;">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-ConditionalSend-for-T" title="ConditionalSend">ConditionalSend</a></li><li><a href="#impl-Downcast-for-T" title="Downcast">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T" title="Downcast&#60;T&#62;">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T" title="DowncastSync">DowncastSync</a></li><li><a href="#impl-DynEq-for-T" title="DynEq">DynEq</a></li><li><a href="#impl-DynHash-for-T" title="DynHash">DynHash</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q" title="Equivalent&#60;K&#62;">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1" title="Equivalent&#60;K&#62;">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-2" title="Equivalent&#60;K&#62;">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From&#60;T&#62;">From&#60;T&#62;</a></li><li><a href="#impl-FromWorld-for-T" title="FromWorld">FromWorld</a></li><li><a href="#impl-Instrument-for-T" title="Instrument">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into&#60;U&#62;">Into&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T" title="IntoEither">IntoEither</a></li><li><a href="#impl-Settings-for-T" title="Settings">Settings</a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom&#60;U&#62;">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto&#60;U&#62;">TryInto&#60;U&#62;</a></li><li><a href="#impl-TypeData-for-T" title="TypeData">TypeData</a></li><li><a href="#impl-Upcast%3CT%3E-for-T" title="Upcast&#60;T&#62;">Upcast&#60;T&#62;</a></li><li><a href="#impl-VZip%3CV%3E-for-T" title="VZip&#60;V&#62;">VZip&#60;V&#62;</a></li><li><a href="#impl-WasmNotSend-for-T" title="WasmNotSend">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T" title="WasmNotSendSync">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T" title="WasmNotSync">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T" title="WithSubscriber">WithSubscriber</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In bevy_<wbr>render::<wbr>settings</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="../index.html">bevy_render</a>::<wbr><a href="index.html">settings</a></span><h1>Struct <span class="struct">WgpuLimits</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/wgpu_types/lib.rs.html#1134">Source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(C)]</div>pub struct WgpuLimits {<details class="toggle type-contents-toggle"><summary class="hideme"><span>Show 34 fields</span></summary>
pub max_texture_dimension_1d: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_texture_dimension_2d: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_texture_dimension_3d: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_texture_array_layers: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_bind_groups: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_bindings_per_bind_group: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_dynamic_uniform_buffers_per_pipeline_layout: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_dynamic_storage_buffers_per_pipeline_layout: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_sampled_textures_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_samplers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_storage_buffers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_storage_textures_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_uniform_buffers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_uniform_buffer_binding_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_storage_buffer_binding_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_vertex_buffers: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_buffer_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a>,
pub max_vertex_attributes: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_vertex_buffer_array_stride: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub min_uniform_buffer_offset_alignment: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub min_storage_buffer_offset_alignment: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_inter_stage_shader_components: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_color_attachments: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_color_attachment_bytes_per_sample: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_storage_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_compute_invocations_per_workgroup: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_size_x: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_size_y: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_size_z: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroups_per_dimension: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub min_subgroup_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_subgroup_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_push_constant_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
pub max_non_sampler_bindings: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>,
</details>}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Represents the sets of limits an adapter/device supports.</p>
<p>We provide three different defaults.</p>
<ul>
<li><a href="struct.WgpuLimits.html#method.downlevel_defaults" title="associated function bevy_render::settings::WgpuLimits::downlevel_defaults"><code>Limits::downlevel_defaults()</code></a>. This is a set of limits that is guaranteed to work on almost
all backends, including “downlevel” backends such as OpenGL and D3D11, other than WebGL. For
most applications we recommend using these limits, assuming they are high enough for your
application, and you do not intent to support WebGL.</li>
<li><a href="struct.WgpuLimits.html#method.downlevel_webgl2_defaults" title="associated function bevy_render::settings::WgpuLimits::downlevel_webgl2_defaults"><code>Limits::downlevel_webgl2_defaults()</code></a> This is a set of limits that is lower even than the
<a href="struct.WgpuLimits.html#method.downlevel_defaults" title="associated function bevy_render::settings::WgpuLimits::downlevel_defaults"><code>downlevel_defaults()</code></a>, configured to be low enough to support running in the browser using
WebGL2.</li>
<li><a href="struct.WgpuLimits.html#method.default" title="associated function bevy_render::settings::WgpuLimits::default"><code>Limits::default()</code></a>. This is the set of limits that is guaranteed to work on all modern
backends and is guaranteed to be supported by WebGPU. Applications needing more modern
features can use this as a reasonable set of limits if they are targeting only desktop and
modern mobile devices.</li>
</ul>
<p>We recommend starting with the most restrictive limits you can and manually increasing the
limits you need boosted. This will let you stay running on all hardware that supports the limits
you need.</p>
<p>Limits “better” than the default must be supported by the adapter and requested when requesting
a device. If limits “better” than the adapter supports are requested, requesting a device will
panic. Once a device is requested, you may only use resources up to the limits requested <em>even</em>
if the adapter supports “better” limits.</p>
<p>Requesting limits that are “better” than you need may cause performance to decrease because the
implementation needs to support more than is needed. You should ideally only request exactly
what you need.</p>
<p>Corresponds to <a href="https://gpuweb.github.io/gpuweb/#gpusupportedlimits">WebGPU <code>GPUSupportedLimits</code></a>.</p>
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.max_texture_dimension_1d" class="structfield section-header"><a href="#structfield.max_texture_dimension_1d" class="anchor field">§</a><code>max_texture_dimension_1d: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum allowed value for the <code>size.width</code> of a texture created with <code>TextureDimension::D1</code>.
Defaults to 8192. Higher is “better”.</p>
</div><span id="structfield.max_texture_dimension_2d" class="structfield section-header"><a href="#structfield.max_texture_dimension_2d" class="anchor field">§</a><code>max_texture_dimension_2d: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum allowed value for the <code>size.width</code> and <code>size.height</code> of a texture created with <code>TextureDimension::D2</code>.
Defaults to 8192. Higher is “better”.</p>
</div><span id="structfield.max_texture_dimension_3d" class="structfield section-header"><a href="#structfield.max_texture_dimension_3d" class="anchor field">§</a><code>max_texture_dimension_3d: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum allowed value for the <code>size.width</code>, <code>size.height</code>, and <code>size.depth_or_array_layers</code>
of a texture created with <code>TextureDimension::D3</code>.
Defaults to 2048. Higher is “better”.</p>
</div><span id="structfield.max_texture_array_layers" class="structfield section-header"><a href="#structfield.max_texture_array_layers" class="anchor field">§</a><code>max_texture_array_layers: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum allowed value for the <code>size.depth_or_array_layers</code> of a texture created with <code>TextureDimension::D2</code>.
Defaults to 256. Higher is “better”.</p>
</div><span id="structfield.max_bind_groups" class="structfield section-header"><a href="#structfield.max_bind_groups" class="anchor field">§</a><code>max_bind_groups: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of bind groups that can be attached to a pipeline at the same time. Defaults to 4. Higher is “better”.</p>
</div><span id="structfield.max_bindings_per_bind_group" class="structfield section-header"><a href="#structfield.max_bindings_per_bind_group" class="anchor field">§</a><code>max_bindings_per_bind_group: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum binding index allowed in <code>create_bind_group_layout</code>. Defaults to 1000. Higher is “better”.</p>
</div><span id="structfield.max_dynamic_uniform_buffers_per_pipeline_layout" class="structfield section-header"><a href="#structfield.max_dynamic_uniform_buffers_per_pipeline_layout" class="anchor field">§</a><code>max_dynamic_uniform_buffers_per_pipeline_layout: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of uniform buffer bindings that can be dynamic in a single pipeline. Defaults to 8. Higher is “better”.</p>
</div><span id="structfield.max_dynamic_storage_buffers_per_pipeline_layout" class="structfield section-header"><a href="#structfield.max_dynamic_storage_buffers_per_pipeline_layout" class="anchor field">§</a><code>max_dynamic_storage_buffers_per_pipeline_layout: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of storage buffer bindings that can be dynamic in a single pipeline. Defaults to 4. Higher is “better”.</p>
</div><span id="structfield.max_sampled_textures_per_shader_stage" class="structfield section-header"><a href="#structfield.max_sampled_textures_per_shader_stage" class="anchor field">§</a><code>max_sampled_textures_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of sampled textures visible in a single shader stage. Defaults to 16. Higher is “better”.</p>
</div><span id="structfield.max_samplers_per_shader_stage" class="structfield section-header"><a href="#structfield.max_samplers_per_shader_stage" class="anchor field">§</a><code>max_samplers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of samplers visible in a single shader stage. Defaults to 16. Higher is “better”.</p>
</div><span id="structfield.max_storage_buffers_per_shader_stage" class="structfield section-header"><a href="#structfield.max_storage_buffers_per_shader_stage" class="anchor field">§</a><code>max_storage_buffers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of storage buffers visible in a single shader stage. Defaults to 8. Higher is “better”.</p>
</div><span id="structfield.max_storage_textures_per_shader_stage" class="structfield section-header"><a href="#structfield.max_storage_textures_per_shader_stage" class="anchor field">§</a><code>max_storage_textures_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of storage textures visible in a single shader stage. Defaults to 4. Higher is “better”.</p>
</div><span id="structfield.max_uniform_buffers_per_shader_stage" class="structfield section-header"><a href="#structfield.max_uniform_buffers_per_shader_stage" class="anchor field">§</a><code>max_uniform_buffers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of uniform buffers visible in a single shader stage. Defaults to 12. Higher is “better”.</p>
</div><span id="structfield.max_uniform_buffer_binding_size" class="structfield section-header"><a href="#structfield.max_uniform_buffer_binding_size" class="anchor field">§</a><code>max_uniform_buffer_binding_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum size in bytes of a binding to a uniform buffer. Defaults to 64 KiB. Higher is “better”.</p>
</div><span id="structfield.max_storage_buffer_binding_size" class="structfield section-header"><a href="#structfield.max_storage_buffer_binding_size" class="anchor field">§</a><code>max_storage_buffer_binding_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum size in bytes of a binding to a storage buffer. Defaults to 128 MiB. Higher is “better”.</p>
</div><span id="structfield.max_vertex_buffers" class="structfield section-header"><a href="#structfield.max_vertex_buffers" class="anchor field">§</a><code>max_vertex_buffers: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum length of <code>VertexState::buffers</code> when creating a <code>RenderPipeline</code>.
Defaults to 8. Higher is “better”.</p>
</div><span id="structfield.max_buffer_size" class="structfield section-header"><a href="#structfield.max_buffer_size" class="anchor field">§</a><code>max_buffer_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>A limit above which buffer allocations are guaranteed to fail.
Defaults to 256 MiB. Higher is “better”.</p>
<p>Buffer allocations below the maximum buffer size may not succeed depending on available memory,
fragmentation and other factors.</p>
</div><span id="structfield.max_vertex_attributes" class="structfield section-header"><a href="#structfield.max_vertex_attributes" class="anchor field">§</a><code>max_vertex_attributes: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum length of <code>VertexBufferLayout::attributes</code>, summed over all <code>VertexState::buffers</code>,
when creating a <code>RenderPipeline</code>.
Defaults to 16. Higher is “better”.</p>
</div><span id="structfield.max_vertex_buffer_array_stride" class="structfield section-header"><a href="#structfield.max_vertex_buffer_array_stride" class="anchor field">§</a><code>max_vertex_buffer_array_stride: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum value for <code>VertexBufferLayout::array_stride</code> when creating a <code>RenderPipeline</code>.
Defaults to 2048. Higher is “better”.</p>
</div><span id="structfield.min_uniform_buffer_offset_alignment" class="structfield section-header"><a href="#structfield.min_uniform_buffer_offset_alignment" class="anchor field">§</a><code>min_uniform_buffer_offset_alignment: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Required <code>BufferBindingType::Uniform</code> alignment for <code>BufferBinding::offset</code>
when creating a <code>BindGroup</code>, or for <code>set_bind_group</code> <code>dynamicOffsets</code>.
Defaults to 256. Lower is “better”.</p>
</div><span id="structfield.min_storage_buffer_offset_alignment" class="structfield section-header"><a href="#structfield.min_storage_buffer_offset_alignment" class="anchor field">§</a><code>min_storage_buffer_offset_alignment: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Required <code>BufferBindingType::Storage</code> alignment for <code>BufferBinding::offset</code>
when creating a <code>BindGroup</code>, or for <code>set_bind_group</code> <code>dynamicOffsets</code>.
Defaults to 256. Lower is “better”.</p>
</div><span id="structfield.max_inter_stage_shader_components" class="structfield section-header"><a href="#structfield.max_inter_stage_shader_components" class="anchor field">§</a><code>max_inter_stage_shader_components: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum allowed number of components (scalars) of input or output locations for
inter-stage communication (vertex outputs to fragment inputs). Defaults to 60.
Higher is “better”.</p>
</div><span id="structfield.max_color_attachments" class="structfield section-header"><a href="#structfield.max_color_attachments" class="anchor field">§</a><code>max_color_attachments: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>The maximum allowed number of color attachments.</p>
</div><span id="structfield.max_color_attachment_bytes_per_sample" class="structfield section-header"><a href="#structfield.max_color_attachment_bytes_per_sample" class="anchor field">§</a><code>max_color_attachment_bytes_per_sample: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>The maximum number of bytes necessary to hold one sample (pixel or subpixel) of render
pipeline output data, across all color attachments.</p>
</div><span id="structfield.max_compute_workgroup_storage_size" class="structfield section-header"><a href="#structfield.max_compute_workgroup_storage_size" class="anchor field">§</a><code>max_compute_workgroup_storage_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum number of bytes used for workgroup memory in a compute entry point. Defaults to
16384. Higher is “better”.</p>
</div><span id="structfield.max_compute_invocations_per_workgroup" class="structfield section-header"><a href="#structfield.max_compute_invocations_per_workgroup" class="anchor field">§</a><code>max_compute_invocations_per_workgroup: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum value of the product of the <code>workgroup_size</code> dimensions for a compute entry-point.
Defaults to 256. Higher is “better”.</p>
</div><span id="structfield.max_compute_workgroup_size_x" class="structfield section-header"><a href="#structfield.max_compute_workgroup_size_x" class="anchor field">§</a><code>max_compute_workgroup_size_x: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>The maximum value of the workgroup_size X dimension for a compute stage <code>ShaderModule</code> entry-point.
Defaults to 256. Higher is “better”.</p>
</div><span id="structfield.max_compute_workgroup_size_y" class="structfield section-header"><a href="#structfield.max_compute_workgroup_size_y" class="anchor field">§</a><code>max_compute_workgroup_size_y: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>The maximum value of the workgroup_size Y dimension for a compute stage <code>ShaderModule</code> entry-point.
Defaults to 256. Higher is “better”.</p>
</div><span id="structfield.max_compute_workgroup_size_z" class="structfield section-header"><a href="#structfield.max_compute_workgroup_size_z" class="anchor field">§</a><code>max_compute_workgroup_size_z: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>The maximum value of the workgroup_size Z dimension for a compute stage <code>ShaderModule</code> entry-point.
Defaults to 64. Higher is “better”.</p>
</div><span id="structfield.max_compute_workgroups_per_dimension" class="structfield section-header"><a href="#structfield.max_compute_workgroups_per_dimension" class="anchor field">§</a><code>max_compute_workgroups_per_dimension: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>The maximum value for each dimension of a <code>ComputePass::dispatch(x, y, z)</code> operation.
Defaults to 65535. Higher is “better”.</p>
</div><span id="structfield.min_subgroup_size" class="structfield section-header"><a href="#structfield.min_subgroup_size" class="anchor field">§</a><code>min_subgroup_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Minimal number of invocations in a subgroup. Higher is “better”.</p>
</div><span id="structfield.max_subgroup_size" class="structfield section-header"><a href="#structfield.max_subgroup_size" class="anchor field">§</a><code>max_subgroup_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximal number of invocations in a subgroup. Lower is “better”.</p>
</div><span id="structfield.max_push_constant_size" class="structfield section-header"><a href="#structfield.max_push_constant_size" class="anchor field">§</a><code>max_push_constant_size: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Amount of storage available for push constants in bytes. Defaults to 0. Higher is “better”.
Requesting more than 0 during device creation requires <a href="struct.WgpuFeatures.html#associatedconstant.PUSH_CONSTANTS" title="associated constant bevy_render::settings::WgpuFeatures::PUSH_CONSTANTS"><code>Features::PUSH_CONSTANTS</code></a> to be enabled.</p>
<p>Expect the size to be:</p>
<ul>
<li>Vulkan: 128-256 bytes</li>
<li>DX12: 256 bytes</li>
<li>Metal: 4096 bytes</li>
<li>OpenGL doesnt natively support push constants, and are emulated with uniforms,
so this number is less useful but likely 256.</li>
</ul>
</div><span id="structfield.max_non_sampler_bindings" class="structfield section-header"><a href="#structfield.max_non_sampler_bindings" class="anchor field">§</a><code>max_non_sampler_bindings: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a></code></span><div class="docblock"><p>Maximum number of live non-sampler bindings.</p>
<p>This limit only affects the d3d12 backend. Using a large number will allow the device
to create many bind groups at the cost of a large up-front allocation at device creation.</p>
</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1252">Source</a><a href="#impl-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.downlevel_defaults" class="method"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1337">Source</a><h4 class="code-header">pub const fn <a href="#method.downlevel_defaults" class="fn">downlevel_defaults</a>() -&gt; <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h4></section></summary><div class="docblock"><p>These default limits are guaranteed to be compatible with GLES-3.1, and D3D11</p>
<p>Those limits are as follows (different from default are marked with *):</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>(Limits::downlevel_defaults(), Limits {
max_texture_dimension_1d: <span class="number">2048</span>, <span class="comment">// *
</span>max_texture_dimension_2d: <span class="number">2048</span>, <span class="comment">// *
</span>max_texture_dimension_3d: <span class="number">256</span>, <span class="comment">// *
</span>max_texture_array_layers: <span class="number">256</span>,
max_bind_groups: <span class="number">4</span>,
max_bindings_per_bind_group: <span class="number">1000</span>,
max_dynamic_uniform_buffers_per_pipeline_layout: <span class="number">8</span>,
max_dynamic_storage_buffers_per_pipeline_layout: <span class="number">4</span>,
max_sampled_textures_per_shader_stage: <span class="number">16</span>,
max_samplers_per_shader_stage: <span class="number">16</span>,
max_storage_buffers_per_shader_stage: <span class="number">4</span>, <span class="comment">// *
</span>max_storage_textures_per_shader_stage: <span class="number">4</span>,
max_uniform_buffers_per_shader_stage: <span class="number">12</span>,
max_uniform_buffer_binding_size: <span class="number">16 </span>&lt;&lt; <span class="number">10</span>, <span class="comment">// * (16 KiB)
</span>max_storage_buffer_binding_size: <span class="number">128 </span>&lt;&lt; <span class="number">20</span>, <span class="comment">// (128 MiB)
</span>max_vertex_buffers: <span class="number">8</span>,
max_vertex_attributes: <span class="number">16</span>,
max_vertex_buffer_array_stride: <span class="number">2048</span>,
min_subgroup_size: <span class="number">0</span>,
max_subgroup_size: <span class="number">0</span>,
max_push_constant_size: <span class="number">0</span>,
min_uniform_buffer_offset_alignment: <span class="number">256</span>,
min_storage_buffer_offset_alignment: <span class="number">256</span>,
max_inter_stage_shader_components: <span class="number">60</span>,
max_color_attachments: <span class="number">8</span>,
max_color_attachment_bytes_per_sample: <span class="number">32</span>,
max_compute_workgroup_storage_size: <span class="number">16352</span>, <span class="comment">// *
</span>max_compute_invocations_per_workgroup: <span class="number">256</span>,
max_compute_workgroup_size_x: <span class="number">256</span>,
max_compute_workgroup_size_y: <span class="number">256</span>,
max_compute_workgroup_size_z: <span class="number">64</span>,
max_compute_workgroups_per_dimension: <span class="number">65535</span>,
max_buffer_size: <span class="number">256 </span>&lt;&lt; <span class="number">20</span>, <span class="comment">// (256 MiB)
</span>max_non_sampler_bindings: <span class="number">1_000_000</span>,
});</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.downlevel_webgl2_defaults" class="method"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1394">Source</a><h4 class="code-header">pub const fn <a href="#method.downlevel_webgl2_defaults" class="fn">downlevel_webgl2_defaults</a>() -&gt; <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h4></section></summary><div class="docblock"><p>These default limits are guaranteed to be compatible with GLES-3.0, and D3D11, and WebGL2</p>
<p>Those limits are as follows (different from <code>downlevel_defaults</code> are marked with +,
*s from <code>downlevel_defaults</code> shown as well.):</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="macro">assert_eq!</span>(Limits::downlevel_webgl2_defaults(), Limits {
max_texture_dimension_1d: <span class="number">2048</span>, <span class="comment">// *
</span>max_texture_dimension_2d: <span class="number">2048</span>, <span class="comment">// *
</span>max_texture_dimension_3d: <span class="number">256</span>, <span class="comment">// *
</span>max_texture_array_layers: <span class="number">256</span>,
max_bind_groups: <span class="number">4</span>,
max_bindings_per_bind_group: <span class="number">1000</span>,
max_dynamic_uniform_buffers_per_pipeline_layout: <span class="number">8</span>,
max_dynamic_storage_buffers_per_pipeline_layout: <span class="number">0</span>, <span class="comment">// +
</span>max_sampled_textures_per_shader_stage: <span class="number">16</span>,
max_samplers_per_shader_stage: <span class="number">16</span>,
max_storage_buffers_per_shader_stage: <span class="number">0</span>, <span class="comment">// * +
</span>max_storage_textures_per_shader_stage: <span class="number">0</span>, <span class="comment">// +
</span>max_uniform_buffers_per_shader_stage: <span class="number">11</span>, <span class="comment">// +
</span>max_uniform_buffer_binding_size: <span class="number">16 </span>&lt;&lt; <span class="number">10</span>, <span class="comment">// * (16 KiB)
</span>max_storage_buffer_binding_size: <span class="number">0</span>, <span class="comment">// * +
</span>max_vertex_buffers: <span class="number">8</span>,
max_vertex_attributes: <span class="number">16</span>,
max_vertex_buffer_array_stride: <span class="number">255</span>, <span class="comment">// +
</span>min_subgroup_size: <span class="number">0</span>,
max_subgroup_size: <span class="number">0</span>,
max_push_constant_size: <span class="number">0</span>,
min_uniform_buffer_offset_alignment: <span class="number">256</span>,
min_storage_buffer_offset_alignment: <span class="number">256</span>,
max_inter_stage_shader_components: <span class="number">31</span>,
max_color_attachments: <span class="number">8</span>,
max_color_attachment_bytes_per_sample: <span class="number">32</span>,
max_compute_workgroup_storage_size: <span class="number">0</span>, <span class="comment">// +
</span>max_compute_invocations_per_workgroup: <span class="number">0</span>, <span class="comment">// +
</span>max_compute_workgroup_size_x: <span class="number">0</span>, <span class="comment">// +
</span>max_compute_workgroup_size_y: <span class="number">0</span>, <span class="comment">// +
</span>max_compute_workgroup_size_z: <span class="number">0</span>, <span class="comment">// +
</span>max_compute_workgroups_per_dimension: <span class="number">0</span>, <span class="comment">// +
</span>max_buffer_size: <span class="number">256 </span>&lt;&lt; <span class="number">20</span>, <span class="comment">// (256 MiB),
</span>max_non_sampler_bindings: <span class="number">1_000_000</span>,
});</code></pre></div>
</div></details><details class="toggle method-toggle" open><summary><section id="method.using_resolution" class="method"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1425">Source</a><h4 class="code-header">pub const fn <a href="#method.using_resolution" class="fn">using_resolution</a>(self, other: <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a>) -&gt; <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h4></section></summary><div class="docblock"><p>Modify the current limits to use the resolution limits of the other.</p>
<p>This is useful because the swapchain might need to be larger than any other image in the application.</p>
<p>If your application only needs 512x512, you might be running on a 4k display and need extremely high resolution limits.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.using_alignment" class="method"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1438">Source</a><h4 class="code-header">pub const fn <a href="#method.using_alignment" class="fn">using_alignment</a>(self, other: <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a>) -&gt; <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h4></section></summary><div class="docblock"><p>Modify the current limits to use the buffer alignment limits of the adapter.</p>
<p>This is useful for when youd like to dynamically use the “best” supported buffer alignments.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.check_limits" class="method"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1450">Source</a><h4 class="code-header">pub fn <a href="#method.check_limits" class="fn">check_limits</a>(&amp;self, allowed: &amp;<a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Compares every limits within self is within the limits given in <code>allowed</code>.</p>
<p>If you need detailed information on failures, look at <a href="struct.WgpuLimits.html#method.check_limits_with_fail_fn" title="method bevy_render::settings::WgpuLimits::check_limits_with_fail_fn"><code>Limits::check_limits_with_fail_fn</code></a>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.check_limits_with_fail_fn" class="method"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1466-1471">Source</a><h4 class="code-header">pub fn <a href="#method.check_limits_with_fail_fn" class="fn">check_limits_with_fail_fn</a>(
&amp;self,
allowed: &amp;<a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a>,
fatal: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,
fail_fn: impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.str.html">str</a>, <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u64.html">u64</a>),
)</h4></section></summary><div class="docblock"><p>Compares every limits within self is within the limits given in <code>allowed</code>.
For an easy to use binary choice, use <a href="struct.WgpuLimits.html#method.check_limits" title="method bevy_render::settings::WgpuLimits::check_limits"><code>Limits::check_limits</code></a>.</p>
<p>If a value is not within the allowed limit, this function calls the <code>fail_fn</code>
with the:</p>
<ul>
<li>limit name</li>
<li>selfs limit</li>
<li>alloweds limit.</li>
</ul>
<p>If fatal is true, a single failure bails out the comparison after a single failure.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#impl-Clone-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#174">Source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#impl-Debug-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1246">Source</a><a href="#impl-Default-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1247">Source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#impl-Hash-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut __H</a>)<div class="where">where
__H: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</div></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/1.84.0/src/core/hash/mod.rs.html#235-237">Source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
H: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#impl-PartialEq-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.84.0/src/core/cmp.rs.html#261">Source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
and should not be overridden without very good reason.</div></details></div></details><section id="impl-Eq-for-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#impl-Eq-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section><section id="impl-StructuralPartialEq-for-Limits" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#1131">Source</a><a href="#impl-StructuralPartialEq-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Limits" class="impl"><a href="#impl-Freeze-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section><section id="impl-RefUnwindSafe-for-Limits" class="impl"><a href="#impl-RefUnwindSafe-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section><section id="impl-Send-for-Limits" class="impl"><a href="#impl-Send-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section><section id="impl-Sync-for-Limits" class="impl"><a href="#impl-Sync-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section><section id="impl-Unpin-for-Limits" class="impl"><a href="#impl-Unpin-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section><section id="impl-UnwindSafe-for-Limits" class="impl"><a href="#impl-UnwindSafe-for-Limits" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.WgpuLimits.html" title="struct bevy_render::settings::WgpuLimits">Limits</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-AsBindGroupShaderType%3CU%3E-for-T" class="impl"><a class="src rightside" href="../../src/bevy_render/render_resource/bind_group.rs.html#425-433">Source</a><a href="#impl-AsBindGroupShaderType%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="../render_resource/trait.AsBindGroupShaderType.html" title="trait bevy_render::render_resource::AsBindGroupShaderType">AsBindGroupShaderType</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="../render_resource/trait.ShaderType.html" title="trait bevy_render::render_resource::ShaderType">ShaderType</a>,
<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;'a T</a>: for&lt;'a&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_bind_group_shader_type" class="method trait-impl"><a class="src rightside" href="../../src/bevy_render/render_resource/bind_group.rs.html#430-432">Source</a><a href="#method.as_bind_group_shader_type" class="anchor">§</a><h4 class="code-header">fn <a href="../render_resource/trait.AsBindGroupShaderType.html#tymethod.as_bind_group_shader_type" class="fn">as_bind_group_shader_type</a>(&amp;self, _images: &amp;<a class="struct" href="../render_asset/struct.RenderAssets.html" title="struct bevy_render::render_asset::RenderAssets">RenderAssets</a>&lt;<a class="struct" href="../texture/struct.GpuImage.html" title="struct bevy_render::texture::GpuImage">GpuImage</a>&gt;) -&gt; U</h4></section></summary><div class='docblock'>Return the <code>T</code> <a href="../render_resource/trait.ShaderType.html" title="trait bevy_render::render_resource::ShaderType"><code>ShaderType</code></a> for <code>self</code>. When used in <a href="../render_resource/trait.AsBindGroup.html" title="trait bevy_render::render_resource::AsBindGroup"><code>AsBindGroup</code></a>
derives, it is safe to assume that all images in <code>self</code> exist.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#209">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#211">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#217">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<div class="where">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#218">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#273">Source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#275">Source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&amp;self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast%3CT%3E-for-T" class="impl"><a class="src rightside" href="../../src/khronos_egl/lib.rs.html#148">Source</a><a href="#impl-Downcast%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../khronos_egl/trait.Downcast.html" title="trait khronos_egl::Downcast">Downcast</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.downcast" class="method trait-impl"><a class="src rightside" href="../../src/khronos_egl/lib.rs.html#149">Source</a><a href="#method.downcast" class="anchor">§</a><h4 class="code-header">fn <a href="../../khronos_egl/trait.Downcast.html#tymethod.downcast" class="fn">downcast</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;T</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-T" class="impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#189">Source</a><a href="#impl-Downcast-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../downcast_rs/trait.Downcast.html" title="trait downcast_rs::Downcast">Downcast</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#190">Source</a><a href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.into_any" class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Box&lt;dyn Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Box&lt;dyn Any&gt;</code>. <code>Box&lt;dyn Any&gt;</code> can
then be further <code>downcast</code> into <code>Box&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_any_rc" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#191">Source</a><a href="#method.into_any_rc" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.into_any_rc" class="fn">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Rc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Rc&lt;Any&gt;</code>. <code>Rc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Rc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#192">Source</a><a href="#method.as_any" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;Any</code>s vtable from <code>&amp;Trait</code>s.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#193">Source</a><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.Downcast.html#tymethod.as_any_mut" class="fn">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;mut Any</code>s vtable from <code>&amp;mut Trait</code>s.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-T" class="impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#203">Source</a><a href="#impl-DowncastSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../downcast_rs/trait.DowncastSync.html" title="trait downcast_rs::DowncastSync">DowncastSync</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_any_arc" class="method trait-impl"><a class="src rightside" href="../../src/downcast_rs/lib.rs.html#204">Source</a><a href="#method.into_any_arc" class="anchor">§</a><h4 class="code-header">fn <a href="../../downcast_rs/trait.DowncastSync.html#tymethod.into_any_arc" class="fn">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Arc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Arc&lt;Any&gt;</code>. <code>Arc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Arc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DynEq-for-T" class="impl"><a class="src rightside" href="../../src/bevy_ecs/label.rs.html#25-27">Source</a><a href="#impl-DynEq-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../render_graph/trait.DynEq.html" title="trait bevy_render::render_graph::DynEq">DynEq</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_any-1" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/label.rs.html#29">Source</a><a href="#method.as_any-1" class="anchor">§</a><h4 class="code-header">fn <a href="../render_graph/trait.DynEq.html#tymethod.as_any" class="fn">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Casts the type to <code>dyn Any</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.dyn_eq" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/label.rs.html#33">Source</a><a href="#method.dyn_eq" class="anchor">§</a><h4 class="code-header">fn <a href="../render_graph/trait.DynEq.html#tymethod.dyn_eq" class="fn">dyn_eq</a>(&amp;self, other: &amp;(dyn <a class="trait" href="../render_graph/trait.DynEq.html" title="trait bevy_render::render_graph::DynEq">DynEq</a> + 'static)) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal. <a href="../render_graph/trait.DynEq.html#tymethod.dyn_eq">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DynHash-for-T" class="impl"><a class="src rightside" href="../../src/bevy_ecs/label.rs.html#51-53">Source</a><a href="#impl-DynHash-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../bevy_ecs/label/trait.DynHash.html" title="trait bevy_ecs::label::DynHash">DynHash</a> for T<div class="where">where
T: <a class="trait" href="../render_graph/trait.DynEq.html" title="trait bevy_render::render_graph::DynEq">DynEq</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.as_dyn_eq" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/label.rs.html#55">Source</a><a href="#method.as_dyn_eq" class="anchor">§</a><h4 class="code-header">fn <a href="../../bevy_ecs/label/trait.DynHash.html#tymethod.as_dyn_eq" class="fn">as_dyn_eq</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="../render_graph/trait.DynEq.html" title="trait bevy_render::render_graph::DynEq">DynEq</a> + 'static)</h4></section></summary><div class='docblock'>Casts the type to <code>dyn Any</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.dyn_hash" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/label.rs.html#59">Source</a><a href="#method.dyn_hash" class="anchor">§</a><h4 class="code-header">fn <a href="../../bevy_ecs/label/trait.DynHash.html#tymethod.dyn_hash" class="fn">dyn_hash</a>(&amp;self, state: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q" class="impl"><a class="src rightside" href="../../src/hashbrown/lib.rs.html#166-169">Source</a><a href="#impl-Equivalent%3CK%3E-for-Q" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; <a class="trait" href="../../hashbrown/trait.Equivalent.html" title="trait hashbrown::Equivalent">Equivalent</a>&lt;K&gt; for Q<div class="where">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a class="src rightside" href="../../src/hashbrown/lib.rs.html#171">Source</a><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a href="../../hashbrown/trait.Equivalent.html#tymethod.equivalent" class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a href="../../hashbrown/trait.Equivalent.html#tymethod.equivalent">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q-1" class="impl"><a class="src rightside" href="../../src/hashbrown/lib.rs.html#155-158">Source</a><a href="#impl-Equivalent%3CK%3E-for-Q-1" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; <a class="trait" href="../../hashbrown/trait.Equivalent.html" title="trait hashbrown::Equivalent">Equivalent</a>&lt;K&gt; for Q<div class="where">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-1" class="method trait-impl"><a class="src rightside" href="../../src/hashbrown/lib.rs.html#160">Source</a><a href="#method.equivalent-1" class="anchor">§</a><h4 class="code-header">fn <a href="../../hashbrown/trait.Equivalent.html#tymethod.equivalent" class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a href="../../hashbrown/trait.Equivalent.html#tymethod.equivalent">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q-2" class="impl"><a class="src rightside" href="../../src/equivalent/lib.rs.html#82-85">Source</a><a href="#impl-Equivalent%3CK%3E-for-Q-2" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; <a class="trait" href="../../equivalent/trait.Equivalent.html" title="trait equivalent::Equivalent">Equivalent</a>&lt;K&gt; for Q<div class="where">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-2" class="method trait-impl"><a class="src rightside" href="../../src/equivalent/lib.rs.html#88">Source</a><a href="#method.equivalent-2" class="anchor">§</a><h4 class="code-header">fn <a href="../../equivalent/trait.Equivalent.html#tymethod.equivalent" class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#765">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#768">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromWorld-for-T" class="impl"><a class="src rightside" href="../../src/bevy_ecs/world/mod.rs.html#3782">Source</a><a href="#impl-FromWorld-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../bevy_ecs/world/trait.FromWorld.html" title="trait bevy_ecs::world::FromWorld">FromWorld</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_world" class="method trait-impl"><a class="src rightside" href="../../src/bevy_ecs/world/mod.rs.html#3784">Source</a><a href="#method.from_world" class="anchor">§</a><h4 class="code-header">fn <a href="../../bevy_ecs/world/trait.FromWorld.html#tymethod.from_world" class="fn">from_world</a>(_world: &amp;mut <a class="struct" href="../../bevy_ecs/world/struct.World.html" title="struct bevy_ecs::world::World">World</a>) -&gt; T</h4></section></summary><div class="docblock"><p>Creates <code>Self</code> using <a href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html#tymethod.default" title="associated function core::default::Default::default"><code>default()</code></a>.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#325">Source</a><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#86">Source</a><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.instrument" class="fn">instrument</a>(self, span: <a class="struct" href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#128">Source</a><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span" class="fn">in_current_span</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="../../tracing/span/struct.Span.html#method.current" title="associated function tracing::span::Span::current">current</a> <a href="../../tracing/span/struct.Span.html" title="struct tracing::span::Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="../../tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#748-750">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#758">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-IntoEither-for-T" class="impl"><a class="src rightside" href="../../src/either/into_either.rs.html#64">Source</a><a href="#impl-IntoEither-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../either/into_either/trait.IntoEither.html" title="trait either::into_either::IntoEither">IntoEither</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into_either" class="method trait-impl"><a class="src rightside" href="../../src/either/into_either.rs.html#29">Source</a><a href="#method.into_either" class="anchor">§</a><h4 class="code-header">fn <a href="../../either/into_either/trait.IntoEither.html#method.into_either" class="fn">into_either</a>(self, into_left: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="../../either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;</h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left</code> is <code>true</code>.
Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="../../either/into_either/trait.IntoEither.html#method.into_either">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_either_with" class="method trait-impl"><a class="src rightside" href="../../src/either/into_either.rs.html#55-57">Source</a><a href="#method.into_either_with" class="anchor">§</a><h4 class="code-header">fn <a href="../../either/into_either/trait.IntoEither.html#method.into_either_with" class="fn">into_either_with</a>&lt;F&gt;(self, into_left: F) -&gt; <a class="enum" href="../../either/enum.Either.html" title="enum either::Either">Either</a>&lt;Self, Self&gt;<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;Self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class='docblock'>Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
if <code>into_left(&amp;self)</code> returns <code>true</code>.
Converts <code>self</code> into a <a href="../../either/enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a> variant of <a href="../../either/enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>
otherwise. <a href="../../either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#82-84">Source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#86">Source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#87">Source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#91">Source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#805-807">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#809">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#812">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#790-792">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<div class="where">where
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#794">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#797">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeData-for-T" class="impl"><a class="src rightside" href="../../src/bevy_reflect/type_registry.rs.html#650-652">Source</a><a href="#impl-TypeData-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../bevy_reflect/type_registry/trait.TypeData.html" title="trait bevy_reflect::type_registry::TypeData">TypeData</a> for T<div class="where">where
T: 'static + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><section id="method.clone_type_data" class="method trait-impl"><a class="src rightside" href="../../src/bevy_reflect/type_registry.rs.html#654">Source</a><a href="#method.clone_type_data" class="anchor">§</a><h4 class="code-header">fn <a href="../../bevy_reflect/type_registry/trait.TypeData.html#tymethod.clone_type_data" class="fn">clone_type_data</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.84.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="../../bevy_reflect/type_registry/trait.TypeData.html" title="trait bevy_reflect::type_registry::TypeData">TypeData</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Upcast%3CT%3E-for-T" class="impl"><a class="src rightside" href="../../src/khronos_egl/lib.rs.html#158">Source</a><a href="#impl-Upcast%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../khronos_egl/trait.Upcast.html" title="trait khronos_egl::Upcast">Upcast</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.upcast" class="method trait-impl"><a class="src rightside" href="../../src/khronos_egl/lib.rs.html#159">Source</a><a href="#method.upcast" class="anchor">§</a><h4 class="code-header">fn <a href="../../khronos_egl/trait.Upcast.html#tymethod.upcast" class="fn">upcast</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&amp;T</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-T" class="impl"><a class="src rightside" href="../../src/ppv_lite86/types.rs.html#221-223">Source</a><a href="#impl-VZip%3CV%3E-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; <a class="trait" href="../../ppv_lite86/types/trait.VZip.html" title="trait ppv_lite86::types::VZip">VZip</a>&lt;V&gt; for T<div class="where">where
V: <a class="trait" href="../../ppv_lite86/types/trait.MultiLane.html" title="trait ppv_lite86::types::MultiLane">MultiLane</a>&lt;T&gt;,</div></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a class="src rightside" href="../../src/ppv_lite86/types.rs.html#226">Source</a><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a href="../../ppv_lite86/types/trait.VZip.html#tymethod.vzip" class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#393">Source</a><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#176-178">Source</a><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="../../tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a class="src rightside" href="../../src/tracing/instrument.rs.html#228">Source</a><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fn">with_current_subscriber</a>(self) -&gt; <a class="struct" href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="../../tracing/dispatcher/index.html#setting-the-default-subscriber" title="mod tracing::dispatcher">default</a> <a href="../../tracing_core/subscriber/trait.Subscriber.html" title="trait tracing_core::subscriber::Subscriber"><code>Subscriber</code></a> to this type, returning a
<a href="../../tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="../../tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details><section id="impl-ConditionalSend-for-T" class="impl"><a class="src rightside" href="../../src/bevy_utils/lib.rs.html#65">Source</a><a href="#impl-ConditionalSend-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../bevy_utils/conditional_send/trait.ConditionalSend.html" title="trait bevy_utils::conditional_send::ConditionalSend">ConditionalSend</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Settings-for-T" class="impl"><a class="src rightside" href="../../src/bevy_asset/meta.rs.html#167">Source</a><a href="#impl-Settings-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../bevy_asset/meta/trait.Settings.html" title="trait bevy_asset::meta::Settings">Settings</a> for T<div class="where">where
T: 'static + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-WasmNotSend-for-T" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#7477">Source</a><a href="#impl-WasmNotSend-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../wgpu_types/send_sync/trait.WasmNotSend.html" title="trait wgpu_types::send_sync::WasmNotSend">WasmNotSend</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-WasmNotSendSync-for-T" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#7461">Source</a><a href="#impl-WasmNotSendSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../wgpu_types/send_sync/trait.WasmNotSendSync.html" title="trait wgpu_types::send_sync::WasmNotSendSync">WasmNotSendSync</a> for T<div class="where">where
T: <a class="trait" href="../../wgpu_types/send_sync/trait.WasmNotSend.html" title="trait wgpu_types::send_sync::WasmNotSend">WasmNotSend</a> + <a class="trait" href="../../wgpu_types/send_sync/trait.WasmNotSync.html" title="trait wgpu_types::send_sync::WasmNotSync">WasmNotSync</a>,</div></h3></section><section id="impl-WasmNotSync-for-T" class="impl"><a class="src rightside" href="../../src/wgpu_types/lib.rs.html#7510">Source</a><a href="#impl-WasmNotSync-for-T" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="../../wgpu_types/send_sync/trait.WasmNotSync.html" title="trait wgpu_types::send_sync::WasmNotSync">WasmNotSync</a> for T<div class="where">where
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></div></section></div></main></body></html>