151 lines
88 KiB
HTML
Raw 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."><meta name="keywords" content="rust, rustlang, rust-lang, Limits"><title>Limits in maplibre::render::settings - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../../normalize.css"><link rel="stylesheet" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../../ayu.css" disabled><link rel="stylesheet" href="../../../dark.css" disabled><link rel="stylesheet" href="../../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../main.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"></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">&#9776;</button><a class="sidebar-logo" href="../../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Limits</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#fields">Fields</a></h3><ul><li><a href="#structfield.max_bind_groups">max_bind_groups</a></li><li><a href="#structfield.max_bindings_per_bind_group">max_bindings_per_bind_group</a></li><li><a href="#structfield.max_buffer_size">max_buffer_size</a></li><li><a href="#structfield.max_compute_invocations_per_workgroup">max_compute_invocations_per_workgroup</a></li><li><a href="#structfield.max_compute_workgroup_size_x">max_compute_workgroup_size_x</a></li><li><a href="#structfield.max_compute_workgroup_size_y">max_compute_workgroup_size_y</a></li><li><a href="#structfield.max_compute_workgroup_size_z">max_compute_workgroup_size_z</a></li><li><a href="#structfield.max_compute_workgroup_storage_size">max_compute_workgroup_storage_size</a></li><li><a href="#structfield.max_compute_workgroups_per_dimension">max_compute_workgroups_per_dimension</a></li><li><a href="#structfield.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">max_dynamic_uniform_buffers_per_pipeline_layout</a></li><li><a href="#structfield.max_inter_stage_shader_components">max_inter_stage_shader_components</a></li><li><a href="#structfield.max_push_constant_size">max_push_constant_size</a></li><li><a href="#structfield.max_sampled_textures_per_shader_stage">max_sampled_textures_per_shader_stage</a></li><li><a href="#structfield.max_samplers_per_shader_stage">max_samplers_per_shader_stage</a></li><li><a href="#structfield.max_storage_buffer_binding_size">max_storage_buffer_binding_size</a></li><li><a href="#structfield.max_storage_buffers_per_shader_stage">max_storage_buffers_per_shader_stage</a></li><li><a href="#structfield.max_storage_textures_per_shader_stage">max_storage_textures_per_shader_stage</a></li><li><a href="#structfield.max_texture_array_layers">max_texture_array_layers</a></li><li><a href="#structfield.max_texture_dimension_1d">max_texture_dimension_1d</a></li><li><a href="#structfield.max_texture_dimension_2d">max_texture_dimension_2d</a></li><li><a href="#structfield.max_texture_dimension_3d">max_texture_dimension_3d</a></li><li><a href="#structfield.max_uniform_buffer_binding_size">max_uniform_buffer_binding_size</a></li><li><a href="#structfield.max_uniform_buffers_per_shader_stage">max_uniform_buffers_per_shader_stage</a></li><li><a href="#structfield.max_vertex_attributes">max_vertex_attributes</a></li><li><a href="#structfield.max_vertex_buffer_array_stride">max_vertex_buffer_array_stride</a></li><li><a href="#structfield.max_vertex_buffers">max_vertex_buffers</a></li><li><a href="#structfield.min_storage_buffer_offset_alignment">min_storage_buffer_offset_alignment</a></li><li><a href="#structfield.min_uniform_buffer_offset_alignment">min_uniform_buffer_offset_alignment</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><ul><li><a href="#method.check_limits">check_limits</a></li><li><a href="#method.check_limits_with_fail_fn">check_limits_with_fail_fn</a></li><li><a href="#method.downlevel_defaults">downlevel_defaults</a></li><li><a href="#method.downlevel_webgl2_defaults">downlevel_webgl2_defaults</a></li><li><a href="#method.using_alignment">using_alignment</a></li><li><a href="#method.using_resolution">using_resolution</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><ul><li><a href="#impl-Clone-for-Limits">Clone</a></li><li><a href="#impl-Debug-for-Limits">Debug</a></li><li><a href="#impl-Default-for-Limits">Default</a></li><li><a href="#impl-Eq-for-Limits">Eq</a></li><li><a href="#impl-Hash-for-Limits">Hash</a></li><li><a href="#impl-PartialEq%3CLimits%3E-for-Limits">PartialEq&lt;Limits&gt;</a></li><li><a href="#impl-StructuralEq-for-Limits">StructuralEq</a></li><li><a href="#impl-StructuralPartialEq-for-Limits">StructuralPartialEq</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul><li><a href="#impl-RefUnwindSafe-for-Limits">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Limits">Send</a></li><li><a href="#impl-Sync-for-Limits">Sync</a></li><li><a href="#impl-Unpin-for-Limits">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Limits">UnwindSafe</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><ul><li><a href="#impl-Any-for-Limits">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Limits">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Limits">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-CallHasher-for-Limits">CallHasher</a></li><li><a href="#impl-Downcast%3CT%3E-for-Limits">Downcast&lt;T&gt;</a></li><li><a href="#impl-Downcast-for-Limits">Downcast</a></li><li><a href="#impl-DowncastSync-for-Limits">DowncastSync</a></li><li><a href="#impl-DynEq-for-Limits">DynEq</a></li><li><a href="#impl-DynHash-for-Limits">DynHash</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Limits">Equivalent&lt;K&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Limits">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-Limits">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Limits">Into&lt;U&gt;</a></li><li><a href="#impl-Resource-for-Limits">Resource</a></li><li><a href="#impl-Same%3CT%3E-for-Limits">Same&lt;T&gt;</a></li><li><a href="#impl-ToOwned-for-Limits">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Limits">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Limits">TryInto&lt;U&gt;</a></li><li><a href="#impl-Upcast%3CT%3E-for-Limits">Upcast&lt;T&gt;</a></li><li><a href="#impl-WithSubscriber-for-Limits">WithSubscriber</a></li><li><a href="#impl-Within%3CG2%3E-for-Limits">Within&lt;G2&gt;</a></li></ul></div></section><h2 class="location"><a href="index.html">In maplibre::render::settings</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../../maplibre/index.html"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><button type="button">?</button></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">maplibre</a>::<wbr><a href="../index.html">render</a>::<wbr><a href="index.html">settings</a>::<wbr><a class="struct" href="#">Limits</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust struct"><code><div class="code-attribute">#[repr(C)]</div>pub struct Limits {<details class="rustdoc-toggle type-contents-toggle"><summary class="hideme"><span>Show 29 fields</span></summary>
pub max_texture_dimension_1d: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_texture_dimension_2d: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_texture_dimension_3d: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_texture_array_layers: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_bind_groups: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_bindings_per_bind_group: <a class="primitive" href="https://doc.rust-lang.org/1.65.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.65.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.65.0/std/primitive.u32.html">u32</a>,
pub max_sampled_textures_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_samplers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_storage_buffers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_storage_textures_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_uniform_buffers_per_shader_stage: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_uniform_buffer_binding_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_storage_buffer_binding_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_vertex_buffers: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_buffer_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>,
pub max_vertex_attributes: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_vertex_buffer_array_stride: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub min_uniform_buffer_offset_alignment: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub min_storage_buffer_offset_alignment: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_inter_stage_shader_components: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_storage_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_compute_invocations_per_workgroup: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_size_x: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_size_y: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroup_size_z: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_compute_workgroups_per_dimension: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
pub max_push_constant_size: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u32.html">u32</a>,
</details>}</code></pre></div><details class="rustdoc-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.Limits.html#method.downlevel_defaults" title="Limits::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.Limits.html#method.downlevel_webgl2_defaults" title="Limits::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.Limits.html#method.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.Limits.html#method.default" title="Limits::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 small-section-header">Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.max_texture_dimension_1d" class="structfield small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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 640.</p>
</div><span id="structfield.max_dynamic_uniform_buffers_per_pipeline_layout" class="structfield small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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 8. Higher is “better”.</p>
</div><span id="structfield.max_uniform_buffers_per_shader_stage" class="structfield small-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.65.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 small-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.65.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 KB. Higher is “better”.</p>
</div><span id="structfield.max_storage_buffer_binding_size" class="structfield small-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.65.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 MB. Higher is “better”.</p>
</div><span id="structfield.max_vertex_buffers" class="structfield small-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.65.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 small-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.65.0/std/primitive.u64.html">u64</a></code></span><div class="docblock"><p>A limit above which buffer allocations are guaranteed to fail.</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 small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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 small-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.65.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.</p>
</div><span id="structfield.max_compute_workgroup_storage_size" class="structfield small-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.65.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
16352.</p>
</div><span id="structfield.max_compute_invocations_per_workgroup" class="structfield small-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.65.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.</p>
</div><span id="structfield.max_compute_workgroup_size_x" class="structfield small-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.65.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.</p>
</div><span id="structfield.max_compute_workgroup_size_y" class="structfield small-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.65.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.</p>
</div><span id="structfield.max_compute_workgroup_size_z" class="structfield small-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.65.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.</p>
</div><span id="structfield.max_compute_workgroups_per_dimension" class="structfield small-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.65.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.</p>
</div><span id="structfield.max_push_constant_size" class="structfield small-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.65.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.Features.html#associatedconstant.PUSH_CONSTANTS" title="Features::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>DX11 &amp; OpenGL dont natively support push constants, and are emulated with uniforms,
so this number is less useful but likely 256.</li>
</ul>
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Limits" class="impl has-srclink"><a href="#impl-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.downlevel_defaults" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.downlevel_defaults" class="fnname">downlevel_defaults</a>() -&gt; <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h4></section></summary><div class="docblock"><p>These default limits are guaranteed to be compatible with GLES-3.1, and D3D11</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.downlevel_webgl2_defaults" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.downlevel_webgl2_defaults" class="fnname">downlevel_webgl2_defaults</a>() -&gt; <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">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>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.using_resolution" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.using_resolution" class="fnname">using_resolution</a>(self, other: <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a>) -&gt; <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">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="rustdoc-toggle method-toggle" open><summary><section id="method.using_alignment" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.using_alignment" class="fnname">using_alignment</a>(self, other: <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a>) -&gt; <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">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="rustdoc-toggle method-toggle" open><summary><section id="method.check_limits" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.check_limits" class="fnname">check_limits</a>(&amp;self, allowed: &amp;<a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.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.Limits.html#method.check_limits_with_fail_fn" title="Limits::check_limits_with_fail_fn"><code>Limits::check_limits_with_fail_fn</code></a>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.check_limits_with_fail_fn" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.check_limits_with_fail_fn" class="fnname">check_limits_with_fail_fn</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;allowed: &amp;<a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;fatal: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;fail_fn: impl <a class="trait" href="https://doc.rust-lang.org/1.65.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.65.0/std/primitive.str.html">str</a>, <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>, <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>)<br>)</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.Limits.html#method.check_limits" title="Limits::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="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Limits" class="impl has-srclink"><a href="#impl-Clone-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Limits" class="impl has-srclink"><a href="#impl-Debug-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.65.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.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.65.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.65.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-Limits" class="impl has-srclink"><a href="#impl-Default-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a href="#method.default" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -&gt; <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.65.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Hash-for-Limits" class="impl has-srclink"><a href="#impl-Hash-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl has-srclink"><a href="#method.hash" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a>&lt;__H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>__H)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;__H: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</span></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/hash/mod.rs.html#237-239">source</a></span><a href="#method.hash_slice" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a>&lt;H&gt;(data: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>H)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CLimits%3E-for-Limits" class="impl has-srclink"><a href="#impl-PartialEq%3CLimits%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a>&gt; for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl has-srclink"><a href="#method.eq" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.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, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/cmp.rs.html#236">source</a></span><a href="#method.ne" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason. <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#method.ne">Read more</a></div></details></div></details><section id="impl-Eq-for-Limits" class="impl has-srclink"><a href="#impl-Eq-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section><section id="impl-StructuralEq-for-Limits" class="impl has-srclink"><a href="#impl-StructuralEq-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section><section id="impl-StructuralPartialEq-for-Limits" class="impl has-srclink"><a href="#impl-StructuralPartialEq-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Limits" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section><section id="impl-Send-for-Limits" class="impl has-srclink"><a href="#impl-Send-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section><section id="impl-Sync-for-Limits" class="impl has-srclink"><a href="#impl-Sync-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section><section id="impl-Unpin-for-Limits" class="impl has-srclink"><a href="#impl-Unpin-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section><section id="impl-UnwindSafe-for-Limits" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Limits.html" title="struct maplibre::render::settings::Limits">Limits</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.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.65.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#211">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#218">source</a><a href="#impl-BorrowMut%3CT%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#219">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CallHasher-for-Limits" class="impl has-srclink"><a href="#impl-CallHasher-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; CallHasher for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><section id="method.get_hash" class="method trait-impl has-srclink"><a href="#method.get_hash" class="anchor"></a><h4 class="code-header">fn <a class="fnname">get_hash</a>&lt;H, B&gt;(value: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>H, build_hasher: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>B) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.BuildHasher.html" title="trait core::hash::BuildHasher">BuildHasher</a>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Downcast%3CT%3E-for-Limits" class="impl has-srclink"><a href="#impl-Downcast%3CT%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Downcast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.downcast" class="method trait-impl has-srclink"><a href="#method.downcast" class="anchor"></a><h4 class="code-header">fn <a class="fnname">downcast</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Downcast-for-Limits" class="impl has-srclink"><a href="#impl-Downcast-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Downcast for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl has-srclink"><a href="#method.into_any" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T, <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.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.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static, <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</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>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_any_rc" class="method trait-impl has-srclink"><a href="#method.into_any_rc" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.65.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.65.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.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static&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>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_any-1" class="method trait-impl has-srclink"><a href="#method.as_any-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.65.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. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl has-srclink"><a href="#method.as_any_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.65.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. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-Limits" class="impl has-srclink"><a href="#impl-DowncastSync-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; DowncastSync for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_any_arc" class="method trait-impl has-srclink"><a href="#method.into_any_arc" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.65.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.65.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.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static&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>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DynEq-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#14-28">source</a><a href="#impl-DynEq-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,</span></h3></section></summary><div class="impl-items"><section id="method.as_any" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#18-20">source</a><a href="#method.as_any" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynEq.html#tymethod.as_any" class="fnname">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section><section id="method.dyn_eq" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#22-27">source</a><a href="#method.dyn_eq" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynEq.html#tymethod.dyn_eq" class="fnname">dyn_eq</a>(&amp;self, other: &amp;(dyn <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> + 'static)) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DynHash-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#36-48">source</a><a href="#impl-DynHash-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="../../util/label/trait.DynHash.html" title="trait maplibre::util::label::DynHash">DynHash</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,</span></h3></section></summary><div class="impl-items"><section id="method.as_dyn_eq" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#40-42">source</a><a href="#method.as_dyn_eq" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynHash.html#tymethod.as_dyn_eq" class="fnname">as_dyn_eq</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> + 'static)</h4></section><section id="method.dyn_hash" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#44-47">source</a><a href="#method.dyn_hash" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynHash.html#tymethod.dyn_hash" class="fnname">dyn_hash</a>(&amp;self, state: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>)</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18">source</a><a href="#impl-Equivalent%3CK%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;Q, K&gt; <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a>&lt;K&gt; for Q<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Q: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;K: <a class="trait" href="https://doc.rust-lang.org/1.65.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.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24">source</a><a href="#method.equivalent" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>K) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#559">source</a><a href="#impl-From%3CT%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#562">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Instrument-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><a href="#impl-Instrument-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#82">source</a><a href="#method.instrument" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/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="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><a href="#method.in_current_span" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/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="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a> <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#543">source</a><a href="#impl-Into%3CU%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#551">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html#tymethod.into" class="fnname">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.65.0/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/typenum/1.16.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#83">source</a><a href="#impl-ToOwned-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">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.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#601">source</a><a href="#impl-TryFrom%3CU%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#607">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.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.65.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.65.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="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#586">source</a><a href="#impl-TryInto%3CU%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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.65.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.65.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="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#592">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.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.65.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.65.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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Upcast%3CT%3E-for-Limits" class="impl has-srclink"><a href="#impl-Upcast%3CT%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Upcast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.upcast" class="method trait-impl has-srclink"><a href="#method.upcast" class="anchor"></a><h4 class="code-header">fn <a class="fnname">upcast</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T&gt;</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#334">source</a><a href="#impl-WithSubscriber-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#169-171">source</a><a href="#method.with_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fnname">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://docs.rs/tracing-core/0.1.22/tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><a href="#method.with_current_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fnname">with_current_subscriber</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/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="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a> <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Within%3CG2%3E-for-Limits" class="impl has-srclink"><a href="#impl-Within%3CG2%3E-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;G1, G2&gt; Within&lt;G2&gt; for G1<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;G2: Contains&lt;G1&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.is_within" class="method trait-impl has-srclink"><a href="#method.is_within" class="anchor"></a><h4 class="code-header">fn <a class="fnname">is_within</a>(&amp;self, b: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>G2) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></div></details><section id="impl-Resource-for-Limits" class="impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/tcs/resources.rs.html#10">source</a><a href="#impl-Resource-for-Limits" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="../../tcs/resources/trait.Resource.html" title="trait maplibre::tcs::resources::Resource">Resource</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static,</span></h3></section></div></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="maplibre" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.65.0 (897e37553 2022-11-02)" ></div></body></html>