mirror of
https://github.com/maplibre/maplibre-rs.git
synced 2025-12-08 19:05:57 +00:00
529 lines
150 KiB
HTML
529 lines
150 KiB
HTML
<!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="Features that are not guaranteed to be supported."><title>Features in maplibre::render::settings - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ac92e1bbe349e143.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="maplibre" data-themes="" data-resource-suffix="" data-rustdoc-version="1.76.0 (07dca489a 2024-02-04)" data-channel="1.76.0" data-search-js="search-2b6ce74ff89ae146.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-f2adc0d6ca4d09fb.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-305769736d49e732.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-feafe1bb7466e4bd.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.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">☰</button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../maplibre/index.html">maplibre</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Features</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Tuple Fields</a></h3><ul class="block structfield"><li><a href="#structfield.0">0</a></li></ul><h3><a href="#implementations">Associated Constants</a></h3><ul class="block associatedconstant"><li><a href="#associatedconstant.ADDRESS_MODE_CLAMP_TO_BORDER">ADDRESS_MODE_CLAMP_TO_BORDER</a></li><li><a href="#associatedconstant.ADDRESS_MODE_CLAMP_TO_ZERO">ADDRESS_MODE_CLAMP_TO_ZERO</a></li><li><a href="#associatedconstant.BGRA8UNORM_STORAGE">BGRA8UNORM_STORAGE</a></li><li><a href="#associatedconstant.BUFFER_BINDING_ARRAY">BUFFER_BINDING_ARRAY</a></li><li><a href="#associatedconstant.CLEAR_TEXTURE">CLEAR_TEXTURE</a></li><li><a href="#associatedconstant.CONSERVATIVE_RASTERIZATION">CONSERVATIVE_RASTERIZATION</a></li><li><a href="#associatedconstant.DEPTH32FLOAT_STENCIL8">DEPTH32FLOAT_STENCIL8</a></li><li><a href="#associatedconstant.DEPTH_CLIP_CONTROL">DEPTH_CLIP_CONTROL</a></li><li><a href="#associatedconstant.DUAL_SOURCE_BLENDING">DUAL_SOURCE_BLENDING</a></li><li><a href="#associatedconstant.INDIRECT_FIRST_INSTANCE">INDIRECT_FIRST_INSTANCE</a></li><li><a href="#associatedconstant.MAPPABLE_PRIMARY_BUFFERS">MAPPABLE_PRIMARY_BUFFERS</a></li><li><a href="#associatedconstant.MULTIVIEW">MULTIVIEW</a></li><li><a href="#associatedconstant.MULTI_DRAW_INDIRECT">MULTI_DRAW_INDIRECT</a></li><li><a href="#associatedconstant.MULTI_DRAW_INDIRECT_COUNT">MULTI_DRAW_INDIRECT_COUNT</a></li><li><a href="#associatedconstant.PARTIALLY_BOUND_BINDING_ARRAY">PARTIALLY_BOUND_BINDING_ARRAY</a></li><li><a href="#associatedconstant.PIPELINE_STATISTICS_QUERY">PIPELINE_STATISTICS_QUERY</a></li><li><a href="#associatedconstant.POLYGON_MODE_LINE">POLYGON_MODE_LINE</a></li><li><a href="#associatedconstant.POLYGON_MODE_POINT">POLYGON_MODE_POINT</a></li><li><a href="#associatedconstant.PUSH_CONSTANTS">PUSH_CONSTANTS</a></li><li><a href="#associatedconstant.RG11B10UFLOAT_RENDERABLE">RG11B10UFLOAT_RENDERABLE</a></li><li><a href="#associatedconstant.SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING">SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING</a></li><li><a href="#associatedconstant.SHADER_EARLY_DEPTH_TEST">SHADER_EARLY_DEPTH_TEST</a></li><li><a href="#associatedconstant.SHADER_F16">SHADER_F16</a></li><li><a href="#associatedconstant.SHADER_F64">SHADER_F64</a></li><li><a href="#associatedconstant.SHADER_I16">SHADER_I16</a></li><li><a href="#associatedconstant.SHADER_PRIMITIVE_INDEX">SHADER_PRIMITIVE_INDEX</a></li><li><a href="#associatedconstant.SHADER_UNUSED_VERTEX_OUTPUT">SHADER_UNUSED_VERTEX_OUTPUT</a></li><li><a href="#associatedconstant.SPIRV_SHADER_PASSTHROUGH">SPIRV_SHADER_PASSTHROUGH</a></li><li><a href="#associatedconstant.STORAGE_RESOURCE_BINDING_ARRAY">STORAGE_RESOURCE_BINDING_ARRAY</a></li><li><a href="#associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES">TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES</a></li><li><a href="#associatedconstant.TEXTURE_BINDING_ARRAY">TEXTURE_BINDING_ARRAY</a></li><li><a href="#associatedconstant.TEXTURE_COMPRESSION_ASTC">TEXTURE_COMPRESSION_ASTC</a></li><li><a href="#associatedconstant.TEXTURE_COMPRESSION_ASTC_HDR">TEXTURE_COMPRESSION_ASTC_HDR</a></li><li><a href="#associatedconstant.TEXTURE_COMPRESSION_BC">TEXTURE_COMPRESSION_BC</a></li><li><a href="#associatedconstant.TEXTURE_COMPRESSION_ETC2">TEXTURE_COMPRESSION_ETC2</a></li><li><a href="#associatedconstant.TEXTURE_FORMAT_16BIT_NORM">TEXTURE_FORMAT_16BIT_NORM</a></li><li><a href="#associatedconstant.TIMESTAMP_QUERY">TIMESTAMP_QUERY</a></li><li><a href="#associatedconstant.TIMESTAMP_QUERY_INSIDE_PASSES">TIMESTAMP_QUERY_INSIDE_PASSES</a></li><li><a href="#associatedconstant.UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING">UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING</a></li><li><a href="#associatedconstant.VERTEX_ATTRIBUTE_64BIT">VERTEX_ATTRIBUTE_64BIT</a></li><li><a href="#associatedconstant.VERTEX_WRITABLE_STORAGE">VERTEX_WRITABLE_STORAGE</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.all">all</a></li><li><a href="#method.all_native_mask">all_native_mask</a></li><li><a href="#method.all_webgpu_mask">all_webgpu_mask</a></li><li><a href="#method.bits">bits</a></li><li><a href="#method.complement">complement</a></li><li><a href="#method.contains">contains</a></li><li><a href="#method.contains_invalid_bits">contains_invalid_bits</a></li><li><a href="#method.difference">difference</a></li><li><a href="#method.empty">empty</a></li><li><a href="#method.from_bits">from_bits</a></li><li><a href="#method.from_bits_retain">from_bits_retain</a></li><li><a href="#method.from_bits_truncate">from_bits_truncate</a></li><li><a href="#method.from_name">from_name</a></li><li><a href="#method.insert">insert</a></li><li><a href="#method.intersection">intersection</a></li><li><a href="#method.intersects">intersects</a></li><li><a href="#method.is_all">is_all</a></li><li><a href="#method.is_empty">is_empty</a></li><li><a href="#method.iter">iter</a></li><li><a href="#method.iter_names">iter_names</a></li><li><a href="#method.remove">remove</a></li><li><a href="#method.set">set</a></li><li><a href="#method.symmetric_difference">symmetric_difference</a></li><li><a href="#method.toggle">toggle</a></li><li><a href="#method.union">union</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Binary-for-Features">Binary</a></li><li><a href="#impl-BitAnd-for-Features">BitAnd</a></li><li><a href="#impl-BitAndAssign-for-Features">BitAndAssign</a></li><li><a href="#impl-BitOr-for-Features">BitOr</a></li><li><a href="#impl-BitOrAssign-for-Features">BitOrAssign</a></li><li><a href="#impl-BitXor-for-Features">BitXor</a></li><li><a href="#impl-BitXorAssign-for-Features">BitXorAssign</a></li><li><a href="#impl-Clone-for-Features">Clone</a></li><li><a href="#impl-Copy-for-Features">Copy</a></li><li><a href="#impl-Debug-for-Features">Debug</a></li><li><a href="#impl-Default-for-Features">Default</a></li><li><a href="#impl-Eq-for-Features">Eq</a></li><li><a href="#impl-Extend%3CFeatures%3E-for-Features">Extend<Features></a></li><li><a href="#impl-Flags-for-Features">Flags</a></li><li><a href="#impl-FromIterator%3CFeatures%3E-for-Features">FromIterator<Features></a></li><li><a href="#impl-Hash-for-Features">Hash</a></li><li><a href="#impl-IntoIterator-for-Features">IntoIterator</a></li><li><a href="#impl-LowerHex-for-Features">LowerHex</a></li><li><a href="#impl-Not-for-Features">Not</a></li><li><a href="#impl-Octal-for-Features">Octal</a></li><li><a href="#impl-PartialEq-for-Features">PartialEq</a></li><li><a href="#impl-StructuralEq-for-Features">StructuralEq</a></li><li><a href="#impl-StructuralPartialEq-for-Features">StructuralPartialEq</a></li><li><a href="#impl-Sub-for-Features">Sub</a></li><li><a href="#impl-SubAssign-for-Features">SubAssign</a></li><li><a href="#impl-UpperHex-for-Features">UpperHex</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-Features">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Features">Send</a></li><li><a href="#impl-Sync-for-Features">Sync</a></li><li><a href="#impl-Unpin-for-Features">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Features">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">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut<T></a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast<T></a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-DynEq-for-T">DynEq</a></li><li><a href="#impl-DynHash-for-T">DynHash</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent<K></a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent<K></a></li><li><a href="#impl-From%3CT%3E-for-T">From<T></a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into<U></a></li><li><a href="#impl-Resource-for-T">Resource</a></li><li><a href="#impl-Same-for-T">Same</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto<U></a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast<T></a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li><li><a href="#impl-Within%3CG2%3E-for-G1">Within<G2></a></li></ul></section><h2><a href="index.html">In maplibre::render::settings</a></h2></div></nav><div class="sidebar-resizer"></div>
|
||
<main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../maplibre/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>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="#">Features</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(transparent)]</div>pub struct Features(pub(crate) <<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> as PublicFlags>::Internal);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Features that are not guaranteed to be supported.</p>
|
||
<p>These are either part of the webgpu standard, or are extension features supported by
|
||
wgpu when targeting native.</p>
|
||
<p>If you want to use a feature, you need to first verify that the adapter supports
|
||
the feature. If the adapter does not support the feature, requesting a device with it enabled
|
||
will panic.</p>
|
||
<p>Corresponds to <a href="https://gpuweb.github.io/gpuweb/#enumdef-gpufeaturename">WebGPU <code>GPUFeatureName</code></a>.</p>
|
||
</div></details><h2 id="fields" class="fields section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield section-header"><a href="#structfield.0" class="anchor field">§</a><code>0: <<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> as PublicFlags>::Internal</code></span><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-Features" class="impl"><a href="#impl-Features" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.DEPTH_CLIP_CONTROL" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.DEPTH_CLIP_CONTROL" class="constant">DEPTH_CLIP_CONTROL</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>By default, polygon depth is clipped to 0-1 range before/during rasterization.
|
||
Anything outside of that range is rejected, and respective fragments are not touched.</p>
|
||
<p>With this extension, we can disabling clipping. That allows
|
||
shadow map occluders to be rendered into a tighter depth range.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>desktops</li>
|
||
<li>some mobile chips</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TIMESTAMP_QUERY" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TIMESTAMP_QUERY" class="constant">TIMESTAMP_QUERY</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables use of Timestamp Queries. These queries tell the current gpu timestamp when
|
||
all work before the query is finished.</p>
|
||
<p>This feature allows the use of</p>
|
||
<ul>
|
||
<li>[<code>CommandEncoder::write_timestamp</code>]</li>
|
||
<li>[<code>RenderPassDescriptor::timestamp_writes</code>]</li>
|
||
<li>[<code>ComputePassDescriptor::timestamp_writes</code>]
|
||
to write out timestamps.
|
||
For timestamps within passes refer to <a href="struct.Features.html#associatedconstant.TIMESTAMP_QUERY_INSIDE_PASSES" title="associated constant maplibre::render::settings::Features::TIMESTAMP_QUERY_INSIDE_PASSES"><code>Features::TIMESTAMP_QUERY_INSIDE_PASSES</code></a></li>
|
||
</ul>
|
||
<p>They must be resolved using [<code>CommandEncoder::resolve_query_sets</code>] into a buffer,
|
||
then the result must be multiplied by the timestamp period [<code>Queue::get_timestamp_period</code>]
|
||
to get the timestamp in nanoseconds. Multiple timestamps can then be diffed to get the
|
||
time for operations between them to finish.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.INDIRECT_FIRST_INSTANCE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.INDIRECT_FIRST_INSTANCE" class="constant">INDIRECT_FIRST_INSTANCE</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows non-zero value for the “first instance” in indirect draw calls.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan (mostly)</li>
|
||
<li>DX12</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SHADER_F16" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SHADER_F16" class="constant">SHADER_F16</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows shaders to acquire the FP16 ability</p>
|
||
<p>Note: this is not supported in <code>naga</code> yet,only through <code>spirv-passthrough</code> right now.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.BGRA8UNORM_STORAGE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.BGRA8UNORM_STORAGE" class="constant">BGRA8UNORM_STORAGE</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the [<code>wgpu::TextureUsages::STORAGE_BINDING</code>] usage on textures with format [<code>TextureFormat::Bgra8unorm</code>]</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.RG11B10UFLOAT_RENDERABLE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.RG11B10UFLOAT_RENDERABLE" class="constant">RG11B10UFLOAT_RENDERABLE</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows for usage of textures of format <a href="enum.TextureFormat.html#variant.Rg11b10Float" title="variant maplibre::render::settings::TextureFormat::Rg11b10Float"><code>TextureFormat::Rg11b10Float</code></a> as a render target</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.DEPTH32FLOAT_STENCIL8" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.DEPTH32FLOAT_STENCIL8" class="constant">DEPTH32FLOAT_STENCIL8</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows for explicit creation of textures of format <a href="enum.TextureFormat.html#variant.Depth32FloatStencil8" title="variant maplibre::render::settings::TextureFormat::Depth32FloatStencil8"><code>TextureFormat::Depth32FloatStencil8</code></a></p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan (mostly)</li>
|
||
<li>DX12</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_BC" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TEXTURE_COMPRESSION_BC" class="constant">TEXTURE_COMPRESSION_BC</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables BCn family of compressed textures. All BCn textures use 4x4 pixel blocks
|
||
with 8 or 16 bytes per block.</p>
|
||
<p>Compressed textures sacrifice some quality in exchange for significantly reduced
|
||
bandwidth usage.</p>
|
||
<p>Support for this feature guarantees availability of [<code>TextureUsages::COPY_SRC | TextureUsages::COPY_DST | TextureUsages::TEXTURE_BINDING</code>] for BCn formats.
|
||
<a href="struct.Features.html#associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES" title="associated constant maplibre::render::settings::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES"><code>Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES</code></a> may enable additional usages.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>desktops</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_ETC2" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TEXTURE_COMPRESSION_ETC2" class="constant">TEXTURE_COMPRESSION_ETC2</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables ETC family of compressed textures. All ETC textures use 4x4 pixel blocks.
|
||
ETC2 RGB and RGBA1 are 8 bytes per block. RTC2 RGBA8 and EAC are 16 bytes per block.</p>
|
||
<p>Compressed textures sacrifice some quality in exchange for significantly reduced
|
||
bandwidth usage.</p>
|
||
<p>Support for this feature guarantees availability of [<code>TextureUsages::COPY_SRC | TextureUsages::COPY_DST | TextureUsages::TEXTURE_BINDING</code>] for ETC2 formats.
|
||
<a href="struct.Features.html#associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES" title="associated constant maplibre::render::settings::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES"><code>Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES</code></a> may enable additional usages.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan on Intel</li>
|
||
<li>Mobile (some)</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_ASTC" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TEXTURE_COMPRESSION_ASTC" class="constant">TEXTURE_COMPRESSION_ASTC</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables ASTC family of compressed textures. ASTC textures use pixel blocks varying from 4x4 to 12x12.
|
||
Blocks are always 16 bytes.</p>
|
||
<p>Compressed textures sacrifice some quality in exchange for significantly reduced
|
||
bandwidth usage.</p>
|
||
<p>Support for this feature guarantees availability of [<code>TextureUsages::COPY_SRC | TextureUsages::COPY_DST | TextureUsages::TEXTURE_BINDING</code>] for ASTC formats with Unorm/UnormSrgb channel type.
|
||
<a href="struct.Features.html#associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES" title="associated constant maplibre::render::settings::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES"><code>Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES</code></a> may enable additional usages.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan on Intel</li>
|
||
<li>Mobile (some)</li>
|
||
</ul>
|
||
<p>This is a web and native feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TEXTURE_FORMAT_16BIT_NORM" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TEXTURE_FORMAT_16BIT_NORM" class="constant">TEXTURE_FORMAT_16BIT_NORM</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables normalized <code>16-bit</code> texture formats.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_ASTC_HDR" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TEXTURE_COMPRESSION_ASTC_HDR" class="constant">TEXTURE_COMPRESSION_ASTC_HDR</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables ASTC HDR family of compressed textures.</p>
|
||
<p>Compressed textures sacrifice some quality in exchange for significantly reduced
|
||
bandwidth usage.</p>
|
||
<p>Support for this feature guarantees availability of [<code>TextureUsages::COPY_SRC | TextureUsages::COPY_DST | TextureUsages::TEXTURE_BINDING</code>] for ASTC formats with the HDR channel type.
|
||
<a href="struct.Features.html#associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES" title="associated constant maplibre::render::settings::Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES"><code>Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES</code></a> may enable additional usages.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Metal</li>
|
||
<li>Vulkan</li>
|
||
<li>OpenGL</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES" class="constant">TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables device specific texture format features.</p>
|
||
<p>See <code>TextureFormatFeatures</code> for a listing of the features in question.</p>
|
||
<p>By default only texture format properties as defined by the WebGPU specification are allowed.
|
||
Enabling this feature flag extends the features of each format to the ones supported by the current device.
|
||
Note that without this flag, read/write storage access is not allowed at all.</p>
|
||
<p>This extension does not enable additional formats.</p>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.PIPELINE_STATISTICS_QUERY" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.PIPELINE_STATISTICS_QUERY" class="constant">PIPELINE_STATISTICS_QUERY</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables use of Pipeline Statistics Queries. These queries tell the count of various operations
|
||
performed between the start and stop call. Call [<code>RenderPassEncoder::begin_pipeline_statistics_query</code>] to start
|
||
a query, then call [<code>RenderPassEncoder::end_pipeline_statistics_query</code>] to stop one.</p>
|
||
<p>They must be resolved using [<code>CommandEncoder::resolve_query_sets</code>] into a buffer.
|
||
The rules on how these resolve into buffers are detailed in the documentation for [<code>PipelineStatisticsTypes</code>].</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
</ul>
|
||
<p>This is a native only feature with a <a href="https://github.com/gpuweb/gpuweb/blob/0008bd30da2366af88180b511a5d0d0c1dffbc36/proposals/pipeline-statistics-query.md">proposal</a> for the web.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TIMESTAMP_QUERY_INSIDE_PASSES" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TIMESTAMP_QUERY_INSIDE_PASSES" class="constant">TIMESTAMP_QUERY_INSIDE_PASSES</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows for timestamp queries inside render passes.</p>
|
||
<p>Implies <a href="struct.Features.html#associatedconstant.TIMESTAMP_QUERY" title="associated constant maplibre::render::settings::Features::TIMESTAMP_QUERY"><code>Features::TIMESTAMP_QUERY</code></a> is supported.</p>
|
||
<p>Additionally allows for timestamp queries to be used inside render & compute passes using:</p>
|
||
<ul>
|
||
<li>[<code>RenderPassEncoder::write_timestamp</code>]</li>
|
||
<li>[<code>ComputePassEncoder::write_timestamp</code>]</li>
|
||
</ul>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
<li>Metal (AMD & Intel, not Apple GPUs)</li>
|
||
</ul>
|
||
<p>This is generally not available on tile-based rasterization GPUs.</p>
|
||
<p>This is a native only feature with a <a href="https://github.com/gpuweb/gpuweb/blob/0008bd30da2366af88180b511a5d0d0c1dffbc36/proposals/timestamp-query-inside-passes.md">proposal</a> for the web.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.MAPPABLE_PRIMARY_BUFFERS" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.MAPPABLE_PRIMARY_BUFFERS" class="constant">MAPPABLE_PRIMARY_BUFFERS</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Webgpu only allows the MAP_READ and MAP_WRITE buffer usage to be matched with
|
||
COPY_DST and COPY_SRC respectively. This removes this requirement.</p>
|
||
<p>This is only beneficial on systems that share memory between CPU and GPU. If enabled
|
||
on a system that doesn’t, this can severely hinder performance. Only use if you understand
|
||
the consequences.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.TEXTURE_BINDING_ARRAY" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.TEXTURE_BINDING_ARRAY" class="constant">TEXTURE_BINDING_ARRAY</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to create uniform arrays of textures in shaders:</p>
|
||
<p>ex.</p>
|
||
<ul>
|
||
<li><code>var textures: binding_array<texture_2d<f32>, 10></code> (WGSL)</li>
|
||
<li><code>uniform texture2D textures[10]</code> (GLSL)</li>
|
||
</ul>
|
||
<p>If <a href="struct.Features.html#associatedconstant.STORAGE_RESOURCE_BINDING_ARRAY" title="associated constant maplibre::render::settings::Features::STORAGE_RESOURCE_BINDING_ARRAY"><code>Features::STORAGE_RESOURCE_BINDING_ARRAY</code></a> is supported as well as this, the user
|
||
may also create uniform arrays of storage textures.</p>
|
||
<p>ex.</p>
|
||
<ul>
|
||
<li><code>var textures: array<texture_storage_2d<f32, write>, 10></code> (WGSL)</li>
|
||
<li><code>uniform image2D textures[10]</code> (GLSL)</li>
|
||
</ul>
|
||
<p>This capability allows them to exist and to be indexed by dynamically uniform
|
||
values.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Metal (with MSL 2.0+ on macOS 10.13+)</li>
|
||
<li>Vulkan</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.BUFFER_BINDING_ARRAY" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.BUFFER_BINDING_ARRAY" class="constant">BUFFER_BINDING_ARRAY</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to create arrays of buffers in shaders:</p>
|
||
<p>ex.</p>
|
||
<ul>
|
||
<li><code>var<uniform> buffer_array: array<MyBuffer, 10></code> (WGSL)</li>
|
||
<li><code>uniform myBuffer { ... } buffer_array[10]</code> (GLSL)</li>
|
||
</ul>
|
||
<p>This capability allows them to exist and to be indexed by dynamically uniform
|
||
values.</p>
|
||
<p>If <a href="struct.Features.html#associatedconstant.STORAGE_RESOURCE_BINDING_ARRAY" title="associated constant maplibre::render::settings::Features::STORAGE_RESOURCE_BINDING_ARRAY"><code>Features::STORAGE_RESOURCE_BINDING_ARRAY</code></a> is supported as well as this, the user
|
||
may also create arrays of storage buffers.</p>
|
||
<p>ex.</p>
|
||
<ul>
|
||
<li><code>var<storage> buffer_array: array<MyBuffer, 10></code> (WGSL)</li>
|
||
<li><code>buffer myBuffer { ... } buffer_array[10]</code> (GLSL)</li>
|
||
</ul>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Vulkan</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.STORAGE_RESOURCE_BINDING_ARRAY" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.STORAGE_RESOURCE_BINDING_ARRAY" class="constant">STORAGE_RESOURCE_BINDING_ARRAY</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to create uniform arrays of storage buffers or textures in shaders,
|
||
if resp. <a href="struct.Features.html#associatedconstant.BUFFER_BINDING_ARRAY" title="associated constant maplibre::render::settings::Features::BUFFER_BINDING_ARRAY"><code>Features::BUFFER_BINDING_ARRAY</code></a> or <a href="struct.Features.html#associatedconstant.TEXTURE_BINDING_ARRAY" title="associated constant maplibre::render::settings::Features::TEXTURE_BINDING_ARRAY"><code>Features::TEXTURE_BINDING_ARRAY</code></a>
|
||
is supported.</p>
|
||
<p>This capability allows them to exist and to be indexed by dynamically uniform
|
||
values.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Metal (with MSL 2.2+ on macOS 10.13+)</li>
|
||
<li>Vulkan</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING" class="constant">SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows shaders to index sampled texture and storage buffer resource arrays with dynamically non-uniform values:</p>
|
||
<p>ex. <code>texture_array[vertex_data]</code></p>
|
||
<p>In order to use this capability, the corresponding GLSL extension must be enabled like so:</p>
|
||
<p><code>#extension GL_EXT_nonuniform_qualifier : require</code></p>
|
||
<p>and then used either as <code>nonuniformEXT</code> qualifier in variable declaration:</p>
|
||
<p>ex. <code>layout(location = 0) nonuniformEXT flat in int vertex_data;</code></p>
|
||
<p>or as <code>nonuniformEXT</code> constructor:</p>
|
||
<p>ex. <code>texture_array[nonuniformEXT(vertex_data)]</code></p>
|
||
<p>WGSL and HLSL do not need any extension.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Metal (with MSL 2.0+ on macOS 10.13+)</li>
|
||
<li>Vulkan 1.2+ (or VK_EXT_descriptor_indexing)’s shaderSampledImageArrayNonUniformIndexing & shaderStorageBufferArrayNonUniformIndexing feature)</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING" class="constant">UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows shaders to index uniform buffer and storage texture resource arrays with dynamically non-uniform values:</p>
|
||
<p>ex. <code>texture_array[vertex_data]</code></p>
|
||
<p>In order to use this capability, the corresponding GLSL extension must be enabled like so:</p>
|
||
<p><code>#extension GL_EXT_nonuniform_qualifier : require</code></p>
|
||
<p>and then used either as <code>nonuniformEXT</code> qualifier in variable declaration:</p>
|
||
<p>ex. <code>layout(location = 0) nonuniformEXT flat in int vertex_data;</code></p>
|
||
<p>or as <code>nonuniformEXT</code> constructor:</p>
|
||
<p>ex. <code>texture_array[nonuniformEXT(vertex_data)]</code></p>
|
||
<p>WGSL and HLSL do not need any extension.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Metal (with MSL 2.0+ on macOS 10.13+)</li>
|
||
<li>Vulkan 1.2+ (or VK_EXT_descriptor_indexing)’s shaderUniformBufferArrayNonUniformIndexing & shaderStorageTextureArrayNonUniformIndexing feature)</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.PARTIALLY_BOUND_BINDING_ARRAY" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.PARTIALLY_BOUND_BINDING_ARRAY" class="constant">PARTIALLY_BOUND_BINDING_ARRAY</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to create bind groups containing arrays with less bindings than the BindGroupLayout.</p>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.MULTI_DRAW_INDIRECT" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.MULTI_DRAW_INDIRECT" class="constant">MULTI_DRAW_INDIRECT</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to call <a href="../wgpu/struct.RenderPass.html#method.multi_draw_indirect"><code>RenderPass::multi_draw_indirect</code></a> and <a href="../wgpu/struct.RenderPass.html#method.multi_draw_indexed_indirect"><code>RenderPass::multi_draw_indexed_indirect</code></a>.</p>
|
||
<p>Allows multiple indirect calls to be dispatched from a single buffer.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Vulkan</li>
|
||
<li>Metal (Emulated on top of <code>draw_indirect</code> and <code>draw_indexed_indirect</code>)</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.MULTI_DRAW_INDIRECT_COUNT" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.MULTI_DRAW_INDIRECT_COUNT" class="constant">MULTI_DRAW_INDIRECT_COUNT</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to call <a href="../wgpu/struct.RenderPass.html#method.multi_draw_indirect_count"><code>RenderPass::multi_draw_indirect_count</code></a> and <a href="../wgpu/struct.RenderPass.html#method.multi_draw_indexed_indirect_count"><code>RenderPass::multi_draw_indexed_indirect_count</code></a>.</p>
|
||
<p>This allows the use of a buffer containing the actual number of draw calls.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Vulkan 1.2+ (or VK_KHR_draw_indirect_count)</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.PUSH_CONSTANTS" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.PUSH_CONSTANTS" class="constant">PUSH_CONSTANTS</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the use of push constants: small, fast bits of memory that can be updated
|
||
inside a <a href="../wgpu/struct.RenderPass.html"><code>RenderPass</code></a>.</p>
|
||
<p>Allows the user to call <a href="../wgpu/struct.RenderPass.html#method.set_push_constants"><code>RenderPass::set_push_constants</code></a>, provide a non-empty array
|
||
to <a href="../wgpu/struct.PipelineLayoutDescriptor.html"><code>PipelineLayoutDescriptor</code></a>, and provide a non-zero limit to <a href="struct.Limits.html#structfield.max_push_constant_size" title="field maplibre::render::settings::Limits::max_push_constant_size"><code>Limits::max_push_constant_size</code></a>.</p>
|
||
<p>A block of push constants can be declared with <code>layout(push_constant) uniform Name {..}</code> in shaders.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Vulkan</li>
|
||
<li>Metal</li>
|
||
<li>DX11 (emulated with uniforms)</li>
|
||
<li>OpenGL (emulated with uniforms)</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.ADDRESS_MODE_CLAMP_TO_ZERO" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.ADDRESS_MODE_CLAMP_TO_ZERO" class="constant">ADDRESS_MODE_CLAMP_TO_ZERO</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the use of [<code>AddressMode::ClampToBorder</code>] with a border color
|
||
of [<code>SamplerBorderColor::Zero</code>].</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Vulkan</li>
|
||
<li>Metal</li>
|
||
<li>DX11</li>
|
||
<li>OpenGL</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.ADDRESS_MODE_CLAMP_TO_BORDER" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.ADDRESS_MODE_CLAMP_TO_BORDER" class="constant">ADDRESS_MODE_CLAMP_TO_BORDER</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the use of [<code>AddressMode::ClampToBorder</code>] with a border color
|
||
other than [<code>SamplerBorderColor::Zero</code>].</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Vulkan</li>
|
||
<li>Metal (macOS 10.12+ only)</li>
|
||
<li>DX11</li>
|
||
<li>OpenGL</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.POLYGON_MODE_LINE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.POLYGON_MODE_LINE" class="constant">POLYGON_MODE_LINE</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to set [<code>PolygonMode::Line</code>] in [<code>PrimitiveState::polygon_mode</code>]</p>
|
||
<p>This allows drawing polygons/triangles as lines (wireframe) instead of filled</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>DX12</li>
|
||
<li>Vulkan</li>
|
||
<li>Metal</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.POLYGON_MODE_POINT" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.POLYGON_MODE_POINT" class="constant">POLYGON_MODE_POINT</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to set [<code>PolygonMode::Point</code>] in [<code>PrimitiveState::polygon_mode</code>]</p>
|
||
<p>This allows only drawing the vertices of polygons/triangles instead of filled</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.CONSERVATIVE_RASTERIZATION" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.CONSERVATIVE_RASTERIZATION" class="constant">CONSERVATIVE_RASTERIZATION</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows the user to set a overestimation-conservative-rasterization in [<code>PrimitiveState::conservative</code>]</p>
|
||
<p>Processing of degenerate triangles/lines is hardware specific.
|
||
Only triangles are supported.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.VERTEX_WRITABLE_STORAGE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.VERTEX_WRITABLE_STORAGE" class="constant">VERTEX_WRITABLE_STORAGE</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables bindings of writable storage buffers and textures visible to vertex shaders.</p>
|
||
<p>Note: some (tiled-based) platforms do not support vertex shaders with any side-effects.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>All</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.CLEAR_TEXTURE" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.CLEAR_TEXTURE" class="constant">CLEAR_TEXTURE</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables clear to zero for textures.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>All</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SPIRV_SHADER_PASSTHROUGH" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SPIRV_SHADER_PASSTHROUGH" class="constant">SPIRV_SHADER_PASSTHROUGH</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables creating shader modules from SPIR-V binary data (unsafe).</p>
|
||
<p>SPIR-V data is not parsed or interpreted in any way; you can use
|
||
[<code>wgpu::make_spirv_raw!</code>] to check for alignment and magic number when converting from
|
||
raw bytes.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan, in case shader’s requested capabilities and extensions agree with
|
||
Vulkan implementation.</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.MULTIVIEW" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.MULTIVIEW" class="constant">MULTIVIEW</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables multiview render passes and <code>builtin(view_index)</code> in vertex shaders.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>OpenGL (web only)</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.VERTEX_ATTRIBUTE_64BIT" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.VERTEX_ATTRIBUTE_64BIT" class="constant">VERTEX_ATTRIBUTE_64BIT</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables using 64-bit types for vertex attributes.</p>
|
||
<p>Requires SHADER_FLOAT64.</p>
|
||
<p>Supported Platforms: N/A</p>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SHADER_UNUSED_VERTEX_OUTPUT" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SHADER_UNUSED_VERTEX_OUTPUT" class="constant">SHADER_UNUSED_VERTEX_OUTPUT</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows vertex shaders to have outputs which are not consumed
|
||
by the fragment shader.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>Metal</li>
|
||
<li>OpenGL</li>
|
||
</ul>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SHADER_F64" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SHADER_F64" class="constant">SHADER_F64</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables 64-bit floating point types in SPIR-V shaders.</p>
|
||
<p>Note: even when supported by GPU hardware, 64-bit floating point operations are
|
||
frequently between 16 and 64 <em>times</em> slower than equivalent operations on 32-bit floats.</p>
|
||
<p>Supported Platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SHADER_I16" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SHADER_I16" class="constant">SHADER_I16</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows shaders to use i16. Not currently supported in <code>naga</code>, only available through <code>spirv-passthrough</code>.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SHADER_PRIMITIVE_INDEX" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SHADER_PRIMITIVE_INDEX" class="constant">SHADER_PRIMITIVE_INDEX</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Enables <code>builtin(primitive_index)</code> in fragment shaders.</p>
|
||
<p>Note: enables geometry processing for pipelines using the builtin.
|
||
This may come with a significant performance impact on some hardware.
|
||
Other pipelines are not affected.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX11 (feature level 10+)</li>
|
||
<li>DX12</li>
|
||
<li>Metal (some)</li>
|
||
<li>OpenGL (some)</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.SHADER_EARLY_DEPTH_TEST" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.SHADER_EARLY_DEPTH_TEST" class="constant">SHADER_EARLY_DEPTH_TEST</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows shaders to use the <code>early_depth_test</code> attribute.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>GLES 3.1+</li>
|
||
</ul>
|
||
<p>This is a native only feature.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedconstant.DUAL_SOURCE_BLENDING" class="associatedconstant"><h4 class="code-header">pub const <a href="#associatedconstant.DUAL_SOURCE_BLENDING" class="constant">DUAL_SOURCE_BLENDING</a>: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> = _</h4></section></summary><div class="docblock"><p>Allows two outputs from a shader to be used for blending.
|
||
Note that dual-source blending doesn’t support multiple render targets.</p>
|
||
<p>For more info see the OpenGL ES extension GL_EXT_blend_func_extended.</p>
|
||
<p>Supported platforms:</p>
|
||
<ul>
|
||
<li>OpenGL ES (with GL_EXT_blend_func_extended)</li>
|
||
<li>Metal (with MSL 1.2+)</li>
|
||
<li>Vulkan (with dualSrcBlend)</li>
|
||
<li>DX12</li>
|
||
</ul>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Features-1" class="impl"><a href="#impl-Features-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.empty" class="method"><h4 class="code-header">pub const fn <a href="#method.empty" class="fn">empty</a>() -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Get a flags value with all bits unset.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.all" class="method"><h4 class="code-header">pub const fn <a href="#method.all" class="fn">all</a>() -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Get a flags value with all known bits set.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.bits" class="method"><h4 class="code-header">pub const fn <a href="#method.bits" class="fn">bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>Get the underlying bits value.</p>
|
||
<p>The returned value is exactly the bits set in this flags value.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_bits" class="method"><h4 class="code-header">pub const fn <a href="#method.from_bits" class="fn">from_bits</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>></h4></section></summary><div class="docblock"><p>Convert from a bits value.</p>
|
||
<p>This method will return <code>None</code> if any unknown bits are set.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_bits_truncate" class="method"><h4 class="code-header">pub const fn <a href="#method.from_bits_truncate" class="fn">from_bits_truncate</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Convert from a bits value, unsetting any unknown bits.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_bits_retain" class="method"><h4 class="code-header">pub const fn <a href="#method.from_bits_retain" class="fn">from_bits_retain</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Convert from a bits value exactly.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_name" class="method"><h4 class="code-header">pub fn <a href="#method.from_name" class="fn">from_name</a>(name: &<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>></h4></section></summary><div class="docblock"><p>Get a flags value with the bits of a flag with the given name set.</p>
|
||
<p>This method will return <code>None</code> if <code>name</code> is empty or doesn’t
|
||
correspond to any named flag.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty" class="method"><h4 class="code-header">pub const fn <a href="#method.is_empty" class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether all bits in this flags value are unset.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_all" class="method"><h4 class="code-header">pub const fn <a href="#method.is_all" class="fn">is_all</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether all known bits in this flags value are set.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.intersects" class="method"><h4 class="code-header">pub const fn <a href="#method.intersects" class="fn">intersects</a>(&self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether any set bits in a source flags value are also set in a target flags value.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.contains" class="method"><h4 class="code-header">pub const fn <a href="#method.contains" class="fn">contains</a>(&self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Whether all set bits in a source flags value are also set in a target flags value.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.insert" class="method"><h4 class="code-header">pub fn <a href="#method.insert" class="fn">insert</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class="docblock"><p>The bitwise or (<code>|</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.remove" class="method"><h4 class="code-header">pub fn <a href="#method.remove" class="fn">remove</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class="docblock"><p>The intersection of a source flags value with the complement of a target flags value (<code>&!</code>).</p>
|
||
<p>This method is not equivalent to <code>self & !other</code> when <code>other</code> has unknown bits set.
|
||
<code>remove</code> won’t truncate <code>other</code>, but the <code>!</code> operator will.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.toggle" class="method"><h4 class="code-header">pub fn <a href="#method.toggle" class="fn">toggle</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class="docblock"><p>The bitwise exclusive-or (<code>^</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.set" class="method"><h4 class="code-header">pub fn <a href="#method.set" class="fn">set</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>, value: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock"><p>Call <code>insert</code> when <code>value</code> is <code>true</code> or <code>remove</code> when <code>value</code> is <code>false</code>.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.intersection" class="method"><h4 class="code-header">pub const fn <a href="#method.intersection" class="fn">intersection</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise and (<code>&</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.union" class="method"><h4 class="code-header">pub const fn <a href="#method.union" class="fn">union</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise or (<code>|</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.difference" class="method"><h4 class="code-header">pub const fn <a href="#method.difference" class="fn">difference</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The intersection of a source flags value with the complement of a target flags value (<code>&!</code>).</p>
|
||
<p>This method is not equivalent to <code>self & !other</code> when <code>other</code> has unknown bits set.
|
||
<code>difference</code> won’t truncate <code>other</code>, but the <code>!</code> operator will.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.symmetric_difference" class="method"><h4 class="code-header">pub const fn <a href="#method.symmetric_difference" class="fn">symmetric_difference</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise exclusive-or (<code>^</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.complement" class="method"><h4 class="code-header">pub const fn <a href="#method.complement" class="fn">complement</a>(self) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise negation (<code>!</code>) of the bits in a flags value, truncating the result.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Features-2" class="impl"><a href="#impl-Features-2" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.iter" class="method"><h4 class="code-header">pub const fn <a href="#method.iter" class="fn">iter</a>(&self) -> Iter<<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>></h4></section></summary><div class="docblock"><p>Yield a set of contained flags values.</p>
|
||
<p>Each yielded flags value will correspond to a defined named flag. Any unknown bits
|
||
will be yielded together as a final flags value.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.iter_names" class="method"><h4 class="code-header">pub const fn <a href="#method.iter_names" class="fn">iter_names</a>(&self) -> IterNames<<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>></h4></section></summary><div class="docblock"><p>Yield a set of contained named flags values.</p>
|
||
<p>This method is like <a href="#method.iter"><code>iter</code></a>, except only yields bits in contained named flags.
|
||
Any unknown bits, or bits not corresponding to a contained flag will not be yielded.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Features-3" class="impl"><a href="#impl-Features-3" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.contains_invalid_bits" class="method"><h4 class="code-header">pub fn <a href="#method.contains_invalid_bits" class="fn">contains_invalid_bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the bitflags contains bits that are not part of
|
||
the bitflags definition.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Features-4" class="impl"><a href="#impl-Features-4" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.all_webgpu_mask" class="method"><h4 class="code-header">pub const fn <a href="#method.all_webgpu_mask" class="fn">all_webgpu_mask</a>() -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Mask of all features which are part of the upstream WebGPU standard.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.all_native_mask" class="method"><h4 class="code-header">pub const fn <a href="#method.all_native_mask" class="fn">all_native_mask</a>() -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Mask of all features that are only available when targeting native (not web).</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-Binary-for-Features" class="impl"><a href="#impl-Binary-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Binary.html" title="trait core::fmt::Binary">Binary</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-2" class="method trait-impl"><a href="#method.fmt-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Binary.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BitAnd-for-Features" class="impl"><a href="#impl-BitAnd-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitAnd.html" title="trait core::ops::bit::BitAnd">BitAnd</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bitand" class="method trait-impl"><a href="#method.bitand" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitAnd.html#tymethod.bitand" class="fn">bitand</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise and (<code>&</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedtype.Output-4" class="associatedtype trait-impl"><a href="#associatedtype.Output-4" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitAnd.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>&</code> operator.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BitAndAssign-for-Features" class="impl"><a href="#impl-BitAndAssign-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitAndAssign.html" title="trait core::ops::bit::BitAndAssign">BitAndAssign</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bitand_assign" class="method trait-impl"><a href="#method.bitand_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitAndAssign.html#tymethod.bitand_assign" class="fn">bitand_assign</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class="docblock"><p>The bitwise and (<code>&</code>) of the bits in two flags values.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BitOr-for-Features" class="impl"><a href="#impl-BitOr-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitOr.html" title="trait core::ops::bit::BitOr">BitOr</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bitor" class="method trait-impl"><a href="#method.bitor" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitOr.html#tymethod.bitor" class="fn">bitor</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise or (<code>|</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitOr.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>|</code> operator.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BitOrAssign-for-Features" class="impl"><a href="#impl-BitOrAssign-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitOrAssign.html" title="trait core::ops::bit::BitOrAssign">BitOrAssign</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bitor_assign" class="method trait-impl"><a href="#method.bitor_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitOrAssign.html#tymethod.bitor_assign" class="fn">bitor_assign</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class="docblock"><p>The bitwise or (<code>|</code>) of the bits in two flags values.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BitXor-for-Features" class="impl"><a href="#impl-BitXor-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitXor.html" title="trait core::ops::bit::BitXor">BitXor</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bitxor" class="method trait-impl"><a href="#method.bitxor" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitXor.html#tymethod.bitxor" class="fn">bitxor</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise exclusive-or (<code>^</code>) of the bits in two flags values.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedtype.Output-2" class="associatedtype trait-impl"><a href="#associatedtype.Output-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitXor.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>^</code> operator.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-BitXorAssign-for-Features" class="impl"><a href="#impl-BitXorAssign-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitXorAssign.html" title="trait core::ops::bit::BitXorAssign">BitXorAssign</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.bitxor_assign" class="method trait-impl"><a href="#method.bitxor_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.BitXorAssign.html#tymethod.bitxor_assign" class="fn">bitxor_assign</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class="docblock"><p>The bitwise exclusive-or (<code>^</code>) of the bits in two flags values.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Features" class="impl"><a href="#impl-Clone-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.76.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.76.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.76.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-Features" class="impl"><a href="#impl-Debug-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a href="#method.fmt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.76.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-Features" class="impl"><a href="#impl-Default-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.76.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-Extend%3CFeatures%3E-for-Features" class="impl"><a href="#impl-Extend%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a><<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.extend" class="method trait-impl"><a href="#method.extend" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#tymethod.extend" class="fn">extend</a><T>(&mut self, iterator: T)<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>>,</div></h4></section></summary><div class="docblock"><p>The bitwise or (<code>|</code>) of the bits in each flags value.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.extend_one" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/collect.rs.html#376">source</a><a href="#method.extend_one" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#method.extend_one" class="fn">extend_one</a>(&mut self, item: 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>extend_one</code>)</span></div></span><div class='docblock'>Extends a collection with exactly one element.</div></details><details class="toggle method-toggle" open><summary><section id="method.extend_reserve" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/iter/traits/collect.rs.html#384">source</a><a href="#method.extend_reserve" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#method.extend_reserve" class="fn">extend_reserve</a>(&mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.usize.html">usize</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>extend_one</code>)</span></div></span><div class='docblock'>Reserves capacity in a collection for the given number of additional elements. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.Extend.html#method.extend_reserve">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Flags-for-Features" class="impl"><a href="#impl-Flags-for-Features" class="anchor">§</a><h3 class="code-header">impl Flags for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedconstant.FLAGS" class="associatedconstant trait-impl"><a href="#associatedconstant.FLAGS" class="anchor">§</a><h4 class="code-header">const <a class="constant">FLAGS</a>: &'static [Flag<<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>>] = _</h4></section></summary><div class='docblock'>The set of defined flags.</div></details><details class="toggle" open><summary><section id="associatedtype.Bits" class="associatedtype trait-impl"><a href="#associatedtype.Bits" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Bits</a> = <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>The underlying bits type.</div></details><details class="toggle method-toggle" open><summary><section id="method.bits-1" class="method trait-impl"><a href="#method.bits-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">bits</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Get the underlying bits value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_bits_retain-1" class="method trait-impl"><a href="#method.from_bits_retain-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_bits_retain</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.u64.html">u64</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>Convert from a bits value exactly.</div></details><details class="toggle method-toggle" open><summary><section id="method.empty-1" class="method trait-impl"><a href="#method.empty-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">empty</a>() -> Self</h4></section></summary><div class='docblock'>Get a flags value with all bits unset.</div></details><details class="toggle method-toggle" open><summary><section id="method.all-1" class="method trait-impl"><a href="#method.all-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">all</a>() -> Self</h4></section></summary><div class='docblock'>Get a flags value with all known bits set.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_bits-1" class="method trait-impl"><a href="#method.from_bits-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_bits</a>(bits: Self::Bits) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Convert from a bits value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_bits_truncate-1" class="method trait-impl"><a href="#method.from_bits_truncate-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_bits_truncate</a>(bits: Self::Bits) -> Self</h4></section></summary><div class='docblock'>Convert from a bits value, unsetting any unknown bits.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_name-1" class="method trait-impl"><a href="#method.from_name-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_name</a>(name: &<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><Self></h4></section></summary><div class='docblock'>Get a flags value with the bits of a flag with the given name set. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.iter-1" class="method trait-impl"><a href="#method.iter-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">iter</a>(&self) -> Iter<Self></h4></section></summary><div class='docblock'>Yield a set of contained flags values. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.iter_names-1" class="method trait-impl"><a href="#method.iter_names-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">iter_names</a>(&self) -> IterNames<Self></h4></section></summary><div class='docblock'>Yield a set of contained named flags values. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.is_empty-1" class="method trait-impl"><a href="#method.is_empty-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_empty</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Whether all bits in this flags value are unset.</div></details><details class="toggle method-toggle" open><summary><section id="method.is_all-1" class="method trait-impl"><a href="#method.is_all-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_all</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Whether all known bits in this flags value are set.</div></details><details class="toggle method-toggle" open><summary><section id="method.intersects-1" class="method trait-impl"><a href="#method.intersects-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">intersects</a>(&self, other: Self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Whether any set bits in a source flags value are also set in a target flags value.</div></details><details class="toggle method-toggle" open><summary><section id="method.contains-1" class="method trait-impl"><a href="#method.contains-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">contains</a>(&self, other: Self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a><div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Whether all set bits in a source flags value are also set in a target flags value.</div></details><details class="toggle method-toggle" open><summary><section id="method.insert-1" class="method trait-impl"><a href="#method.insert-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">insert</a>(&mut self, other: Self)<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>The bitwise or (<code>|</code>) of the bits in two flags values.</div></details><details class="toggle method-toggle" open><summary><section id="method.remove-1" class="method trait-impl"><a href="#method.remove-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">remove</a>(&mut self, other: Self)<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>The intersection of a source flags value with the complement of a target flags value (<code>&!</code>). <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.toggle-1" class="method trait-impl"><a href="#method.toggle-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">toggle</a>(&mut self, other: Self)<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>The bitwise exclusive-or (<code>^</code>) of the bits in two flags values.</div></details><details class="toggle method-toggle" open><summary><section id="method.set-1" class="method trait-impl"><a href="#method.set-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">set</a>(&mut self, other: Self, value: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a>)<div class="where">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Call [<code>Flags::insert</code>] when <code>value</code> is <code>true</code> or [<code>Flags::remove</code>] when <code>value</code> is <code>false</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.intersection-1" class="method trait-impl"><a href="#method.intersection-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">intersection</a>(self, other: Self) -> Self</h4></section></summary><div class='docblock'>The bitwise and (<code>&</code>) of the bits in two flags values.</div></details><details class="toggle method-toggle" open><summary><section id="method.union-1" class="method trait-impl"><a href="#method.union-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">union</a>(self, other: Self) -> Self</h4></section></summary><div class='docblock'>The bitwise or (<code>|</code>) of the bits in two flags values.</div></details><details class="toggle method-toggle" open><summary><section id="method.difference-1" class="method trait-impl"><a href="#method.difference-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">difference</a>(self, other: Self) -> Self</h4></section></summary><div class='docblock'>The intersection of a source flags value with the complement of a target flags value (<code>&!</code>). <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.symmetric_difference-1" class="method trait-impl"><a href="#method.symmetric_difference-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">symmetric_difference</a>(self, other: Self) -> Self</h4></section></summary><div class='docblock'>The bitwise exclusive-or (<code>^</code>) of the bits in two flags values.</div></details><details class="toggle method-toggle" open><summary><section id="method.complement-1" class="method trait-impl"><a href="#method.complement-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">complement</a>(self) -> Self</h4></section></summary><div class='docblock'>The bitwise negation (<code>!</code>) of the bits in a flags value, truncating the result.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromIterator%3CFeatures%3E-for-Features" class="impl"><a href="#impl-FromIterator%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a><<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl"><a href="#method.from_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fn">from_iter</a><T>(iterator: T) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a><Item = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>>,</div></h4></section></summary><div class="docblock"><p>The bitwise or (<code>|</code>) of the bits in each flags value.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Features" class="impl"><a href="#impl-Hash-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a><__H>(&self, state: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&mut __H</a>)<div class="where">where
|
||
__H: <a class="trait" href="https://doc.rust-lang.org/1.76.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.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.76.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.76.0/src/core/hash/mod.rs.html#238-240">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a><H>(data: &<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&mut H</a>)<div class="where">where
|
||
H: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.76.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.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.76.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-IntoIterator-for-Features" class="impl"><a href="#impl-IntoIterator-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl"><a href="#associatedtype.Item" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.Item" class="associatedtype">Item</a> = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>The type of the elements being iterated over.</div></details><details class="toggle" open><summary><section id="associatedtype.IntoIter" class="associatedtype trait-impl"><a href="#associatedtype.IntoIter" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="associatedtype">IntoIter</a> = Iter<<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>></h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="toggle method-toggle" open><summary><section id="method.into_iter" class="method trait-impl"><a href="#method.into_iter" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fn">into_iter</a>(self) -> <<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" title="type core::iter::traits::collect::IntoIterator::IntoIter">IntoIter</a></h4></section></summary><div class='docblock'>Creates an iterator from a value. <a href="https://doc.rust-lang.org/1.76.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-LowerHex-for-Features" class="impl"><a href="#impl-LowerHex-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.LowerHex.html" title="trait core::fmt::LowerHex">LowerHex</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-4" class="method trait-impl"><a href="#method.fmt-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.LowerHex.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Not-for-Features" class="impl"><a href="#impl-Not-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.Not.html" title="trait core::ops::bit::Not">Not</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.not" class="method trait-impl"><a href="#method.not" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.Not.html#tymethod.not" class="fn">not</a>(self) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The bitwise negation (<code>!</code>) of the bits in a flags value, truncating the result.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/ops/bit/trait.Not.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>!</code> operator.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Octal-for-Features" class="impl"><a href="#impl-Octal-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Octal.html" title="trait core::fmt::Octal">Octal</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-3" class="method trait-impl"><a href="#method.fmt-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.Octal.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Features" class="impl"><a href="#impl-PartialEq-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&self, other: &<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.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>.</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.76.0/src/core/cmp.rs.html#242">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&Rhs</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.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.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Sub-for-Features" class="impl"><a href="#impl-Sub-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sub" class="method trait-impl"><a href="#method.sub" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/arith/trait.Sub.html#tymethod.sub" class="fn">sub</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -> <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>The intersection of a source flags value with the complement of a target flags value (<code>&!</code>).</p>
|
||
<p>This method is not equivalent to <code>self & !other</code> when <code>other</code> has unknown bits set.
|
||
<code>difference</code> won’t truncate <code>other</code>, but the <code>!</code> operator will.</p>
|
||
</div></details><details class="toggle" open><summary><section id="associatedtype.Output-3" class="associatedtype trait-impl"><a href="#associatedtype.Output-3" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/ops/arith/trait.Sub.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SubAssign-for-Features" class="impl"><a href="#impl-SubAssign-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/ops/arith/trait.SubAssign.html" title="trait core::ops::arith::SubAssign">SubAssign</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sub_assign" class="method trait-impl"><a href="#method.sub_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/ops/arith/trait.SubAssign.html#tymethod.sub_assign" class="fn">sub_assign</a>(&mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class="docblock"><p>The intersection of a source flags value with the complement of a target flags value (<code>&!</code>).</p>
|
||
<p>This method is not equivalent to <code>self & !other</code> when <code>other</code> has unknown bits set.
|
||
<code>difference</code> won’t truncate <code>other</code>, but the <code>!</code> operator will.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-UpperHex-for-Features" class="impl"><a href="#impl-UpperHex-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.UpperHex.html" title="trait core::fmt::UpperHex">UpperHex</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/fmt/trait.UpperHex.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.76.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>></h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><section id="impl-Copy-for-Features" class="impl"><a href="#impl-Copy-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-Eq-for-Features" class="impl"><a href="#impl-Eq-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-StructuralEq-for-Features" class="impl"><a href="#impl-StructuralEq-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-StructuralPartialEq-for-Features" class="impl"><a href="#impl-StructuralPartialEq-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</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-RefUnwindSafe-for-Features" class="impl"><a href="#impl-RefUnwindSafe-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-Send-for-Features" class="impl"><a href="#impl-Send-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-Sync-for-Features" class="impl"><a href="#impl-Sync-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-Unpin-for-Features" class="impl"><a href="#impl-Unpin-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-UnwindSafe-for-Features" class="impl"><a href="#impl-UnwindSafe-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</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.76.0/src/core/any.rs.html#140">source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.76.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.76.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.76.0/src/core/any.rs.html#141">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.76.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.76.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-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.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.76.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.76.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-Downcast%3CT%3E-for-T" class="impl"><a href="#impl-Downcast%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Downcast<T> for T</h3></section></summary><div class="impl-items"><section id="method.downcast" class="method trait-impl"><a href="#method.downcast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">downcast</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&T</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-T" class="impl"><a href="#impl-Downcast-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Downcast for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.76.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 href="#method.into_any" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T>) -> <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>></h4></section></summary><div class='docblock'>Convert <code>Box<dyn Trait></code> (where <code>Trait: Downcast</code>) to <code>Box<dyn Any></code>. <code>Box<dyn Any></code> can
|
||
then be further <code>downcast</code> into <code>Box<ConcreteType></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 href="#method.into_any_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><T>) -> <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>></h4></section></summary><div class='docblock'>Convert <code>Rc<Trait></code> (where <code>Trait: Downcast</code>) to <code>Rc<Any></code>. <code>Rc<Any></code> can then be
|
||
further <code>downcast</code> into <code>Rc<ConcreteType></code> where <code>ConcreteType</code> implements <code>Trait</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any-1" class="method trait-impl"><a href="#method.as_any-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any</a>(&self) -> &(dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&Trait</code> (where <code>Trait: Downcast</code>) to <code>&Any</code>. This is needed since Rust cannot
|
||
generate <code>&Any</code>’s vtable from <code>&Trait</code>’s.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl"><a href="#method.as_any_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_any_mut</a>(&mut self) -> &mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&Any</code>. This is needed since Rust cannot
|
||
generate <code>&mut Any</code>’s vtable from <code>&mut Trait</code>’s.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-T" class="impl"><a href="#impl-DowncastSync-for-T" class="anchor">§</a><h3 class="code-header">impl<T> DowncastSync for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.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 href="#method.into_any_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T>) -> <a class="struct" href="https://doc.rust-lang.org/1.76.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>></h4></section></summary><div class='docblock'>Convert <code>Arc<Trait></code> (where <code>Trait: Downcast</code>) to <code>Arc<Any></code>. <code>Arc<Any></code> can then be
|
||
further <code>downcast</code> into <code>Arc<ConcreteType></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/maplibre/util/label.rs.html#14-28">source</a><a href="#impl-DynEq-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,</div></h3></section></summary><div class="impl-items"><section id="method.as_any" class="method trait-impl"><a class="src 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="fn">as_any</a>(&self) -> &(dyn <a class="trait" href="https://doc.rust-lang.org/1.76.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"><a class="src 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="fn">dyn_eq</a>(&self, other: &(dyn <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> + 'static)) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DynHash-for-T" class="impl"><a class="src rightside" href="../../../src/maplibre/util/label.rs.html#36-48">source</a><a href="#impl-DynHash-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="../../util/label/trait.DynHash.html" title="trait maplibre::util::label::DynHash">DynHash</a> for T<div class="where">where
|
||
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.76.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,</div></h3></section></summary><div class="impl-items"><section id="method.as_dyn_eq" class="method trait-impl"><a class="src 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="fn">as_dyn_eq</a>(&self) -> &(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"><a class="src 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="fn">dyn_hash</a>(&self, state: &mut dyn <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>)</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Q" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Q" class="anchor">§</a><h3 class="code-header">impl<Q, K> Equivalent<K> for Q<div class="where">where
|
||
Q: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
K: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.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 href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>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 href="#impl-Equivalent%3CK%3E-for-Q-1" class="anchor">§</a><h3 class="code-header">impl<Q, K> Equivalent<K> for Q<div class="where">where
|
||
Q: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
K: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.76.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 href="#method.equivalent-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#763">source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> 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.76.0/src/core/convert/mod.rs.html#766">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> 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-Instrument-for-T" class="impl"><a href="#impl-Instrument-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Instrument 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 href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
|
||
<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -> Instrumented<Self></h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
|
||
<code>Instrumented</code> wrapper. <a>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.76.0/src/core/convert/mod.rs.html#747-749">source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</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.76.0/src/core/convert/mod.rs.html#756">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> 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.76.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same-for-T" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a> for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-5" class="associatedtype trait-impl"><a href="#associatedtype.Output-5" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.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="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.76.0/src/alloc/borrow.rs.html#83-85">source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.76.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.76.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 href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.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.76.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.76.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&self) -> T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.76.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.76.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.76.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&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.76.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.76.0/src/core/convert/mod.rs.html#803-805">source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#810">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></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.76.0/src/core/convert/mod.rs.html#788-790">source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.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.76.0/src/core/convert/mod.rs.html#795">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Upcast%3CT%3E-for-T" class="impl"><a href="#impl-Upcast%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> Upcast<T> for T</h3></section></summary><div class="impl-items"><section id="method.upcast" class="method trait-impl"><a href="#method.upcast" class="anchor">§</a><h4 class="code-header">fn <a class="fn">upcast</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/1.76.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&T</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-T" class="impl"><a href="#impl-WithSubscriber-for-T" class="anchor">§</a><h3 class="code-header">impl<T> WithSubscriber 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 href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a><S>(self, subscriber: S) -> WithDispatch<Self><div class="where">where
|
||
S: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><Dispatch>,</div></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -> WithDispatch<Self></h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
|
||
[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Within%3CG2%3E-for-G1" class="impl"><a href="#impl-Within%3CG2%3E-for-G1" class="anchor">§</a><h3 class="code-header">impl<G1, G2> Within<G2> for G1<div class="where">where
|
||
G2: Contains<G1>,</div></h3></section></summary><div class="impl-items"><section id="method.is_within" class="method trait-impl"><a href="#method.is_within" class="anchor">§</a><h4 class="code-header">fn <a class="fn">is_within</a>(&self, b: <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.reference.html">&G2</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.76.0/std/primitive.bool.html">bool</a></h4></section></div></details><section id="impl-Resource-for-T" class="impl"><a class="src rightside" href="../../../src/maplibre/tcs/resources.rs.html#10">source</a><a href="#impl-Resource-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="../../tcs/resources/trait.Resource.html" title="trait maplibre::tcs::resources::Resource">Resource</a> for T<div class="where">where
|
||
T: 'static,</div></h3></section><section id="impl-WasmNotSend-for-T" class="impl"><a href="#impl-WasmNotSend-for-T" class="anchor">§</a><h3 class="code-header">impl<T> WasmNotSend for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-WasmNotSync-for-T" class="impl"><a href="#impl-WasmNotSync-for-T" class="anchor">§</a><h3 class="code-header">impl<T> WasmNotSync for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.76.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section></div></section></div></main></body></html> |