mirror of
https://github.com/maplibre/maplibre-rs.git
synced 2025-12-08 19:05:57 +00:00
633 lines
160 KiB
HTML
633 lines
160 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/SourceSerif4-Bold-a2c9cd1067f8b328.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-cb6f1f67f1bcd037.css" id="mainThemeStyle"><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.73.0 (cc66ad468 2023-10-03)" data-channel="1.73.0" data-search-js="search-6dfdfced5eff6596.js" data-settings-js="settings-de11bff964e9d4e5.js" data-settings-css="settings-8c76f75bfb6bd192.css" data-theme-light-css="light-1596385f77d47ef2.css" data-theme-dark-css="dark-0a43001d3fc2282c.css" data-theme-ayu-css="ayu-fd19013d6ce078bf.css" ><script src="../../../static.files/storage-db41da1a38ea3cb8.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-0795b7d26be81095.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../../../static.files/light-1596385f77d47ef2.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../../../static.files/dark-0a43001d3fc2282c.css"><link rel="stylesheet" href="../../../static.files/noscript-cffde32267a19fd6.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><a class="logo-container" href="../../../maplibre/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../../../maplibre/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Features</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Tuple Fields</a></h3><ul class="block"><li><a href="#structfield.0">0</a></li></ul><h3><a href="#implementations">Associated Constants</a></h3><ul class="block"><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.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.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.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"><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"><li><a href="#impl-Binary-for-Features">Binary</a></li><li><a href="#impl-BitAnd%3CFeatures%3E-for-Features">BitAnd<Features></a></li><li><a href="#impl-BitAndAssign%3CFeatures%3E-for-Features">BitAndAssign<Features></a></li><li><a href="#impl-BitOr%3CFeatures%3E-for-Features">BitOr<Features></a></li><li><a href="#impl-BitOrAssign%3CFeatures%3E-for-Features">BitOrAssign<Features></a></li><li><a href="#impl-BitXor%3CFeatures%3E-for-Features">BitXor<Features></a></li><li><a href="#impl-BitXorAssign%3CFeatures%3E-for-Features">BitXorAssign<Features></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%3CFeatures%3E-for-Features">PartialEq<Features></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%3CFeatures%3E-for-Features">Sub<Features></a></li><li><a href="#impl-SubAssign%3CFeatures%3E-for-Features">SubAssign<Features></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"><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"><li><a href="#impl-Any-for-Features">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Features">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Features">BorrowMut<T></a></li><li><a href="#impl-Downcast-for-Features">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-Features">Downcast<T></a></li><li><a href="#impl-DowncastSync-for-Features">DowncastSync</a></li><li><a href="#impl-DynEq-for-Features">DynEq</a></li><li><a href="#impl-DynHash-for-Features">DynHash</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Features">Equivalent<K></a></li><li><a href="#impl-Equivalent%3CK%3E-for-Features-1">Equivalent<K></a></li><li><a href="#impl-Equivalent%3CK%3E-for-Features-2">Equivalent<K></a></li><li><a href="#impl-From%3CT%3E-for-Features">From<T></a></li><li><a href="#impl-Instrument-for-Features">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Features">Into<U></a></li><li><a href="#impl-Resource-for-Features">Resource</a></li><li><a href="#impl-Same%3CT%3E-for-Features">Same<T></a></li><li><a href="#impl-ToOwned-for-Features">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Features">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-Features">TryInto<U></a></li><li><a href="#impl-Upcast%3CT%3E-for-Features">Upcast<T></a></li><li><a href="#impl-WasmNotSend-for-Features">WasmNotSend</a></li><li><a href="#impl-WasmNotSync-for-Features">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-Features">WithSubscriber</a></li><li><a href="#impl-Within%3CG2%3E-for-Features">Within<G2></a></li></ul></section><h2><a href="index.html">In maplibre::render::settings</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><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" title="help" tabindex="-1"><a href="../../../help.html">?</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 small-section-header">Tuple Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.0" class="structfield small-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="small-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> = Self::from_bits_retain(1 << 0)</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> = Self::from_bits_retain(1 << 1)</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. Call [<code>CommandEncoder::write_timestamp</code>],
|
||
[<code>RenderPassEncoder::write_timestamp</code>], or [<code>ComputePassEncoder::write_timestamp</code>] to
|
||
write out a timestamp.</p>
|
||
<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>
|
||
</ul>
|
||
<p>This is currently unimplemented on Metal.</p>
|
||
<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> = Self::from_bits_retain(1 << 2)</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> = Self::from_bits_retain(1 << 8)</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.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> = Self::from_bits_retain(1 << 23)</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> = Self::from_bits_retain(1 << 24)</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> = Self::from_bits_retain(1 << 25)</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> = Self::from_bits_retain(1 << 26)</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> = Self::from_bits_retain(1 << 27)</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.
|
||
<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> = Self::from_bits_retain(1 << 29)</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> = Self::from_bits_retain(1 << 30)</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 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>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> = Self::from_bits_retain(1 << 31)</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> = Self::from_bits_retain(1 << 32)</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> = Self::from_bits_retain(1 << 33)</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>Supported platforms:</p>
|
||
<ul>
|
||
<li>Vulkan</li>
|
||
<li>DX12</li>
|
||
</ul>
|
||
<p>This is currently unimplemented on Metal.
|
||
When implemented, it will be supported on Metal on AMD and Intel GPUs, but not Apple 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> = Self::from_bits_retain(1 << 34)</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> = Self::from_bits_retain(1 << 35)</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> = Self::from_bits_retain(1 << 36)</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> = Self::from_bits_retain(1 << 37)</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> = Self::from_bits_retain(1 << 38)</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> = Self::from_bits_retain(1 << 39)</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> = Self::from_bits_retain(1 << 40)</h4></section></summary><div class="docblock"><p>Allows the user to create bind groups continaing 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> = Self::from_bits_retain(1 << 41)</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> = Self::from_bits_retain(1 << 42)</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> = Self::from_bits_retain(1 << 43)</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> = Self::from_bits_retain(1 << 44)</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> = Self::from_bits_retain(1 << 45)</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> = Self::from_bits_retain(1 << 46)</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> = Self::from_bits_retain(1 << 47)</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>DX12</li>
|
||
<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> = Self::from_bits_retain(1 << 48)</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> = Self::from_bits_retain(1 << 49)</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> = Self::from_bits_retain(1 << 50)</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> = Self::from_bits_retain(1 << 51)</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> = Self::from_bits_retain(1 << 52)</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> = Self::from_bits_retain(1 << 53)</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_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> = Self::from_bits_retain(1 << 59)</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> = Self::from_bits_retain(1 << 60)</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> = Self::from_bits_retain(1 << 61)</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> = Self::from_bits_retain(1 << 62)</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></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.73.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.73.0/std/primitive.u64.html">u64</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.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.73.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.73.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.73.0/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.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.73.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.73.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.73.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.73.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.73.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.73.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="small-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.73.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-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.73.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.73.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-BitAnd%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/bit/trait.BitAnd.html" title="trait core::ops::bit::BitAnd">BitAnd</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.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.73.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.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-BitAndAssign%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/bit/trait.BitAndAssign.html" title="trait core::ops::bit::BitAndAssign">BitAndAssign</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.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.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-BitOr%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/bit/trait.BitOr.html" title="trait core::ops::bit::BitOr">BitOr</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.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.73.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.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-BitOrAssign%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/bit/trait.BitOrAssign.html" title="trait core::ops::bit::BitOrAssign">BitOrAssign</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.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.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-BitXor%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/bit/trait.BitXor.html" title="trait core::ops::bit::BitXor">BitXor</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.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.73.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.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-BitXorAssign%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/bit/trait.BitXorAssign.html" title="trait core::ops::bit::BitXorAssign">BitXorAssign</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.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.73.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.73.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.73.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.73.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.73.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.73.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.73.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.73.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.73.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-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.73.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.73.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.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.73.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.73.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.73.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.73.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.73.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.73.0/core/iter/traits/collect/trait.Extend.html#tymethod.extend" class="fn">extend</a><T>(&mut self, iterator: T)<span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.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>>,</span></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.73.0/src/core/iter/traits/collect.rs.html#375">source</a><a href="#method.extend_one" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.0/src/core/iter/traits/collect.rs.html#383">source</a><a href="#method.extend_reserve" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.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.73.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>>] = &[{
|
||
::bitflags::Flag::new("DEPTH_CLIP_CONTROL",
|
||
Features::DEPTH_CLIP_CONTROL)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TIMESTAMP_QUERY",
|
||
Features::TIMESTAMP_QUERY)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("INDIRECT_FIRST_INSTANCE",
|
||
Features::INDIRECT_FIRST_INSTANCE)
|
||
},
|
||
{ ::bitflags::Flag::new("SHADER_F16", Features::SHADER_F16) },
|
||
{
|
||
::bitflags::Flag::new("RG11B10UFLOAT_RENDERABLE",
|
||
Features::RG11B10UFLOAT_RENDERABLE)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("DEPTH32FLOAT_STENCIL8",
|
||
Features::DEPTH32FLOAT_STENCIL8)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TEXTURE_COMPRESSION_BC",
|
||
Features::TEXTURE_COMPRESSION_BC)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TEXTURE_COMPRESSION_ETC2",
|
||
Features::TEXTURE_COMPRESSION_ETC2)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TEXTURE_COMPRESSION_ASTC",
|
||
Features::TEXTURE_COMPRESSION_ASTC)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TEXTURE_FORMAT_16BIT_NORM",
|
||
Features::TEXTURE_FORMAT_16BIT_NORM)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TEXTURE_COMPRESSION_ASTC_HDR",
|
||
Features::TEXTURE_COMPRESSION_ASTC_HDR)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES",
|
||
Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("PIPELINE_STATISTICS_QUERY",
|
||
Features::PIPELINE_STATISTICS_QUERY)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TIMESTAMP_QUERY_INSIDE_PASSES",
|
||
Features::TIMESTAMP_QUERY_INSIDE_PASSES)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("MAPPABLE_PRIMARY_BUFFERS",
|
||
Features::MAPPABLE_PRIMARY_BUFFERS)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("TEXTURE_BINDING_ARRAY",
|
||
Features::TEXTURE_BINDING_ARRAY)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("BUFFER_BINDING_ARRAY",
|
||
Features::BUFFER_BINDING_ARRAY)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("STORAGE_RESOURCE_BINDING_ARRAY",
|
||
Features::STORAGE_RESOURCE_BINDING_ARRAY)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING",
|
||
Features::SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING",
|
||
Features::UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("PARTIALLY_BOUND_BINDING_ARRAY",
|
||
Features::PARTIALLY_BOUND_BINDING_ARRAY)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("MULTI_DRAW_INDIRECT",
|
||
Features::MULTI_DRAW_INDIRECT)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("MULTI_DRAW_INDIRECT_COUNT",
|
||
Features::MULTI_DRAW_INDIRECT_COUNT)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("PUSH_CONSTANTS",
|
||
Features::PUSH_CONSTANTS)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("ADDRESS_MODE_CLAMP_TO_ZERO",
|
||
Features::ADDRESS_MODE_CLAMP_TO_ZERO)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("ADDRESS_MODE_CLAMP_TO_BORDER",
|
||
Features::ADDRESS_MODE_CLAMP_TO_BORDER)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("POLYGON_MODE_LINE",
|
||
Features::POLYGON_MODE_LINE)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("POLYGON_MODE_POINT",
|
||
Features::POLYGON_MODE_POINT)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("CONSERVATIVE_RASTERIZATION",
|
||
Features::CONSERVATIVE_RASTERIZATION)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("VERTEX_WRITABLE_STORAGE",
|
||
Features::VERTEX_WRITABLE_STORAGE)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("CLEAR_TEXTURE",
|
||
Features::CLEAR_TEXTURE)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("SPIRV_SHADER_PASSTHROUGH",
|
||
Features::SPIRV_SHADER_PASSTHROUGH)
|
||
},
|
||
{ ::bitflags::Flag::new("MULTIVIEW", Features::MULTIVIEW) },
|
||
{
|
||
::bitflags::Flag::new("VERTEX_ATTRIBUTE_64BIT",
|
||
Features::VERTEX_ATTRIBUTE_64BIT)
|
||
},
|
||
{ ::bitflags::Flag::new("SHADER_F64", Features::SHADER_F64) },
|
||
{ ::bitflags::Flag::new("SHADER_I16", Features::SHADER_I16) },
|
||
{
|
||
::bitflags::Flag::new("SHADER_PRIMITIVE_INDEX",
|
||
Features::SHADER_PRIMITIVE_INDEX)
|
||
},
|
||
{
|
||
::bitflags::Flag::new("SHADER_EARLY_DEPTH_TEST",
|
||
Features::SHADER_EARLY_DEPTH_TEST)
|
||
}]</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.73.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.73.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.73.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.73.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.73.0/std/primitive.str.html">str</a>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.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.73.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.73.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.73.0/std/primitive.bool.html">bool</a><span class="where fmt-newline">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.0/std/primitive.bool.html">bool</a><span class="where fmt-newline">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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)<span class="where fmt-newline">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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)<span class="where fmt-newline">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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)<span class="where fmt-newline">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.0/std/primitive.bool.html">bool</a>)<span class="where fmt-newline">where
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.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.73.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><span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.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>>,</span></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.73.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.73.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.73.0/std/primitive.reference.html">&mut __H</a>)<span class="where fmt-newline">where
|
||
__H: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</span></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.73.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.73.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.73.0/src/core/hash/mod.rs.html#237-239">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.0/std/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&mut H</a>)<span class="where fmt-newline">where
|
||
H: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.73.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.73.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.73.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.73.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.73.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.73.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.73.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.73.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.73.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.73.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" class="method trait-impl"><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.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.73.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.73.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.73.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.73.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.73.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.73.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-PartialEq%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</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.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.73.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.73.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.73.0/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&Rhs</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-Sub%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</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.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.73.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.73.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%3CFeatures%3E-for-Features" class="impl"><a href="#impl-SubAssign%3CFeatures%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/ops/arith/trait.SubAssign.html" title="trait core::ops::arith::SubAssign">SubAssign</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.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.73.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.73.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-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.73.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.73.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.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.73.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.73.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.73.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.73.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="small-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.73.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.73.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.73.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.73.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.73.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="small-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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
|
||
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.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.73.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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<span class="where fmt-newline">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.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.73.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.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.73.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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<span class="where fmt-newline">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.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.73.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.73.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.73.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-Features" class="impl"><a href="#impl-Downcast%3CT%3E-for-Features" 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.73.0/std/primitive.reference.html">&T</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Downcast-for-Features" class="impl"><a href="#impl-Downcast-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> Downcast for T<span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</span></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.73.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><T, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>) -> <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</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.73.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><T, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>) -> <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</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.73.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.73.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-Features" class="impl"><a href="#impl-DowncastSync-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> DowncastSync for T<span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></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.73.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><T, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>) -> <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</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-Features" class="impl"><a class="src rightside" href="../../../src/maplibre/util/label.rs.html#14-28">source</a><a href="#impl-DynEq-for-Features" 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<span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,</span></h3></section></summary><div class="impl-items"><section id="method.as_any" class="method trait-impl"><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.73.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.73.0/std/primitive.bool.html">bool</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-DynHash-for-Features" class="impl"><a class="src rightside" href="../../../src/maplibre/util/label.rs.html#36-48">source</a><a href="#impl-DynHash-for-Features" 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<span class="where fmt-newline">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.73.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,</span></h3></section></summary><div class="impl-items"><section id="method.as_dyn_eq" class="method trait-impl"><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.73.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-Features" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<Q, K> Equivalent<K> for Q<span class="where fmt-newline">where
|
||
Q: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
K: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.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-Features-1" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Features-1" class="anchor">§</a><h3 class="code-header">impl<Q, K> Equivalent<K> for Q<span class="where fmt-newline">where
|
||
Q: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
K: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></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.73.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.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-Equivalent%3CK%3E-for-Features-2" class="impl"><a class="src rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18">source</a><a href="#impl-Equivalent%3CK%3E-for-Features-2" class="anchor">§</a><h3 class="code-header">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q<span class="where fmt-newline">where
|
||
Q: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
|
||
K: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-2" class="method trait-impl"><a class="src rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24">source</a><a href="#method.equivalent-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fn">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.73.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.73.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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-Features" class="impl"><a href="#impl-Instrument-for-Features" 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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></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.73.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.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%3CT%3E-for-Features" 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%3CT%3E-for-Features" 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><T> 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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.73.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></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.73.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.73.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.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.73.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.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.73.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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<span class="where fmt-newline">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</span></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.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.73.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.73.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.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.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.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-Features" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<span class="where fmt-newline">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</span></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.73.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.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.73.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.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.73.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.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.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-Features" class="impl"><a href="#impl-Upcast%3CT%3E-for-Features" 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.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&T</a>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Features" class="impl"><a href="#impl-WithSubscriber-for-Features" 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><span class="where fmt-newline">where
|
||
S: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><Dispatch>,</span></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-Features" class="impl"><a href="#impl-Within%3CG2%3E-for-Features" class="anchor">§</a><h3 class="code-header">impl<G1, G2> Within<G2> for G1<span class="where fmt-newline">where
|
||
G2: Contains<G1>,</span></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.73.0/std/primitive.reference.html">&G2</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></div></details><section id="impl-Resource-for-Features" class="impl"><a class="src rightside" href="../../../src/maplibre/tcs/resources.rs.html#10">source</a><a href="#impl-Resource-for-Features" 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<span class="where fmt-newline">where
|
||
T: 'static,</span></h3></section><section id="impl-WasmNotSend-for-Features" class="impl"><a href="#impl-WasmNotSend-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> WasmNotSend for T<span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</span></h3></section><section id="impl-WasmNotSync-for-Features" class="impl"><a href="#impl-WasmNotSync-for-Features" class="anchor">§</a><h3 class="code-header">impl<T> WasmNotSync for T<span class="where fmt-newline">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></div></section></div></main></body></html> |