maplibre-rs/docs/api/maplibre/render/settings/struct.Features.html

473 lines
163 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Features that are not guaranteed to be supported."><meta name="keywords" content="rust, rustlang, rust-lang, Features"><title>Features in maplibre::render::settings - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../../normalize.css"><link rel="stylesheet" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../../ayu.css" disabled><link rel="stylesheet" href="../../../dark.css" disabled><link rel="stylesheet" href="../../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../main.js"></script><noscript><link rel="stylesheet" href="../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div></a><h2 class="location"></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../../maplibre/index.html"><div class="logo-container"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Features</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#fields">Tuple Fields</a></h3></div><div class="block"><h3 class="sidebar-title"><a href="#implementations">Associated Constants</a></h3><ul><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.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></div><div class="block"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><ul><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></div><div class="block"><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><ul><li><a href="#impl-Binary-for-Features">Binary</a></li><li><a href="#impl-BitAnd%3CFeatures%3E-for-Features">BitAnd&lt;Features&gt;</a></li><li><a href="#impl-BitAndAssign%3CFeatures%3E-for-Features">BitAndAssign&lt;Features&gt;</a></li><li><a href="#impl-BitFlags-for-Features">BitFlags</a></li><li><a href="#impl-BitOr%3CFeatures%3E-for-Features">BitOr&lt;Features&gt;</a></li><li><a href="#impl-BitOrAssign%3CFeatures%3E-for-Features">BitOrAssign&lt;Features&gt;</a></li><li><a href="#impl-BitXor%3CFeatures%3E-for-Features">BitXor&lt;Features&gt;</a></li><li><a href="#impl-BitXorAssign%3CFeatures%3E-for-Features">BitXorAssign&lt;Features&gt;</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&lt;Features&gt;</a></li><li><a href="#impl-FromIterator%3CFeatures%3E-for-Features">FromIterator&lt;Features&gt;</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&lt;Features&gt;</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&lt;Features&gt;</a></li><li><a href="#impl-SubAssign%3CFeatures%3E-for-Features">SubAssign&lt;Features&gt;</a></li><li><a href="#impl-UpperHex-for-Features">UpperHex</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul><li><a href="#impl-RefUnwindSafe-for-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></div><div class="block"><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><ul><li><a href="#impl-Any-for-Features">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Features">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Features">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-CallHasher-for-Features">CallHasher</a></li><li><a href="#impl-Downcast%3CT%3E-for-Features">Downcast&lt;T&gt;</a></li><li><a href="#impl-Downcast-for-Features">Downcast</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&lt;K&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Features">From&lt;T&gt;</a></li><li><a href="#impl-Instrument-for-Features">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Features">Into&lt;U&gt;</a></li><li><a href="#impl-Resource-for-Features">Resource</a></li><li><a href="#impl-Same%3CT%3E-for-Features">Same&lt;T&gt;</a></li><li><a href="#impl-SumWithAccumulator%3CF%3E-for-Features">SumWithAccumulator&lt;F&gt;</a></li><li><a href="#impl-ToOwned-for-Features">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Features">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Features">TryInto&lt;U&gt;</a></li><li><a href="#impl-Upcast%3CT%3E-for-Features">Upcast&lt;T&gt;</a></li><li><a href="#impl-WithSubscriber-for-Features">WithSubscriber</a></li><li><a href="#impl-Within%3CG2%3E-for-Features">Within&lt;G2&gt;</a></li></ul></div></section><h2 class="location"><a href="index.html">In maplibre::render::settings</a></h2></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../../maplibre/index.html"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><button type="button">?</button></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../wheel.svg"></a></div></div></form></nav></div><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn"><span class="in-band">Struct <a href="../../index.html">maplibre</a>::<wbr><a href="../index.html">render</a>::<wbr><a href="index.html">settings</a>::<wbr><a class="struct" href="#">Features</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust struct"><code><div class="code-attribute">#[repr(transparent)]</div>pub struct Features(pub(crate) &lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> as <a class="trait" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.PublicFlags.html" title="trait bitflags::traits::PublicFlags">PublicFlags</a>&gt;::<a class="associatedtype" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.PublicFlags.html#associatedtype.Internal" title="type bitflags::traits::PublicFlags::Internal">Internal</a>);</code></pre></div><details class="rustdoc-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: &lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> as <a class="trait" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.PublicFlags.html" title="trait bitflags::traits::PublicFlags">PublicFlags</a>&gt;::<a class="associatedtype" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.PublicFlags.html#associatedtype.Internal" title="type bitflags::traits::PublicFlags::Internal">Internal</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Features" class="impl has-srclink"><a href="#impl-Features" class="anchor"></a><h3 class="code-header in-band">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="rustdoc-toggle" open><summary><section id="associatedconstant.DEPTH_CLIP_CONTROL" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.TIMESTAMP_QUERY" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.INDIRECT_FIRST_INSTANCE" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.SHADER_F16" class="associatedconstant has-srclink"><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 &lt;&lt; 8)</h4></section></summary><div class="docblock"><p>Allows shaders to acquire the FP16 ability</p>
<p>Note: this is not supported in naga yetonly through spir-v passthrough 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="rustdoc-toggle" open><summary><section id="associatedconstant.DEPTH32FLOAT_STENCIL8" class="associatedconstant has-srclink"><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 &lt;&lt; 24)</h4></section></summary><div class="docblock"><p>Allows for explicit creation of textures of format <a href="enum.TextureFormat.html#variant.Depth32FloatStencil8" title="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="rustdoc-toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_BC" class="associatedconstant has-srclink"><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 &lt;&lt; 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="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="rustdoc-toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_ETC2" class="associatedconstant has-srclink"><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 &lt;&lt; 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="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="rustdoc-toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_ASTC" class="associatedconstant has-srclink"><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 &lt;&lt; 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="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="rustdoc-toggle" open><summary><section id="associatedconstant.TEXTURE_FORMAT_16BIT_NORM" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.TEXTURE_COMPRESSION_ASTC_HDR" class="associatedconstant has-srclink"><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 &lt;&lt; 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="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="rustdoc-toggle" open><summary><section id="associatedconstant.TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.PIPELINE_STATISTICS_QUERY" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.TIMESTAMP_QUERY_INSIDE_PASSES" class="associatedconstant has-srclink"><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 &lt;&lt; 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="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="rustdoc-toggle" open><summary><section id="associatedconstant.MAPPABLE_PRIMARY_BUFFERS" class="associatedconstant has-srclink"><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 &lt;&lt; 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 doesnt, 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="rustdoc-toggle" open><summary><section id="associatedconstant.TEXTURE_BINDING_ARRAY" class="associatedconstant has-srclink"><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 &lt;&lt; 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&lt;texture_2d&lt;f32&gt;, 10&gt;</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="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&lt;texture_storage_2d&lt;f32, write&gt;, 10&gt;</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="rustdoc-toggle" open><summary><section id="associatedconstant.BUFFER_BINDING_ARRAY" class="associatedconstant has-srclink"><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 &lt;&lt; 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&lt;uniform&gt; buffer_array: array&lt;MyBuffer, 10&gt;</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="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&lt;storage&gt; buffer_array: array&lt;MyBuffer, 10&gt;</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="rustdoc-toggle" open><summary><section id="associatedconstant.STORAGE_RESOURCE_BINDING_ARRAY" class="associatedconstant has-srclink"><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 &lt;&lt; 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="Features::BUFFER_BINDING_ARRAY"><code>Features::BUFFER_BINDING_ARRAY</code></a> or <a href="struct.Features.html#associatedconstant.TEXTURE_BINDING_ARRAY" title="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="rustdoc-toggle" open><summary><section id="associatedconstant.SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING" class="associatedconstant has-srclink"><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 &lt;&lt; 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 &amp; shaderStorageBufferArrayNonUniformIndexing feature)</li>
</ul>
<p>This is a native only feature.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING" class="associatedconstant has-srclink"><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 &lt;&lt; 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 &amp; shaderStorageTextureArrayNonUniformIndexing feature)</li>
</ul>
<p>This is a native only feature.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.PARTIALLY_BOUND_BINDING_ARRAY" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.MULTI_DRAW_INDIRECT" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.MULTI_DRAW_INDIRECT_COUNT" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.PUSH_CONSTANTS" class="associatedconstant has-srclink"><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 &lt;&lt; 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="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="rustdoc-toggle" open><summary><section id="associatedconstant.ADDRESS_MODE_CLAMP_TO_ZERO" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.ADDRESS_MODE_CLAMP_TO_BORDER" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.POLYGON_MODE_LINE" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.POLYGON_MODE_POINT" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.CONSERVATIVE_RASTERIZATION" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.VERTEX_WRITABLE_STORAGE" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.CLEAR_TEXTURE" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.SPIRV_SHADER_PASSTHROUGH" class="associatedconstant has-srclink"><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 &lt;&lt; 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 shaders requested capabilities and extensions agree with
Vulkan implementation.</li>
</ul>
<p>This is a native only feature.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedconstant.MULTIVIEW" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.VERTEX_ATTRIBUTE_64BIT" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.SHADER_F64" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.SHADER_I16" class="associatedconstant has-srclink"><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 &lt;&lt; 60)</h4></section></summary><div class="docblock"><p>Allows shaders to use i16. Not currently supported in naga, 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="rustdoc-toggle" open><summary><section id="associatedconstant.SHADER_PRIMITIVE_INDEX" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle" open><summary><section id="associatedconstant.SHADER_EARLY_DEPTH_TEST" class="associatedconstant has-srclink"><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 &lt;&lt; 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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Features-1" class="impl has-srclink"><a href="#impl-Features-1" class="anchor"></a><h3 class="code-header in-band">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="rustdoc-toggle method-toggle" open><summary><section id="method.empty" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.empty" class="fnname">empty</a>() -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns an empty set of flags.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.all" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.all" class="fnname">all</a>() -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the set containing all flags.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.bits" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.bits" class="fnname">bits</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></h4></section></summary><div class="docblock"><p>Returns the raw value of the flags currently stored.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_bits" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.from_bits" class="fnname">from_bits</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt;</h4></section></summary><div class="docblock"><p>Convert from underlying bit representation, unless that
representation contains bits that do not correspond to a flag.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_bits_truncate" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.from_bits_truncate" class="fnname">from_bits_truncate</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Convert from underlying bit representation, dropping any bits
that do not correspond to flags.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_bits_retain" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.from_bits_retain" class="fnname">from_bits_retain</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Convert from underlying bit representation, preserving all
bits (even those not corresponding to a defined flag).</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_name" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.from_name" class="fnname">from_name</a>(name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt;</h4></section></summary><div class="docblock"><p>Get the value for a flag from its stringified name.</p>
<p>Names are <em>case-sensitive</em>, so must correspond exactly to
the identifier given to the flag.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.iter" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.iter" class="fnname">iter</a>(&amp;self) -&gt; Iter</h4></section></summary><div class="docblock"><p>Iterate over enabled flag values.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.iter_names" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.iter_names" class="fnname">iter_names</a>(&amp;self) -&gt; IterRaw</h4></section></summary><div class="docblock"><p>Iterate over enabled flag values with their stringified names.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_empty" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.is_empty" class="fnname">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if no flags are currently stored.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_all" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.is_all" class="fnname">is_all</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if all flags are currently set.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.intersects" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.intersects" class="fnname">intersects</a>(&amp;self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if there are flags common to both <code>self</code> and <code>other</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.contains" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.contains" class="fnname">contains</a>(&amp;self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if all of the flags in <code>other</code> are contained within <code>self</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.insert" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.insert" class="fnname">insert</a>(&amp;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>Inserts the specified flags in-place.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.remove" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.remove" class="fnname">remove</a>(&amp;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>Removes the specified flags in-place.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.toggle" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.toggle" class="fnname">toggle</a>(&amp;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>Toggles the specified flags in-place.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.set" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.set" class="fnname">set</a>(&amp;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.65.0/std/primitive.bool.html">bool</a>)</h4></section></summary><div class="docblock"><p>Inserts or removes the specified flags depending on the passed value.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.intersection" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.intersection" class="fnname">intersection</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the intersection between the flags in <code>self</code> and
<code>other</code>.</p>
<p>Specifically, the returned set contains only the flags which are
present in <em>both</em> <code>self</code> <em>and</em> <code>other</code>.</p>
<p>This is equivalent to using the <code>&amp;</code> operator (e.g.
<a href="https://doc.rust-lang.org/std/ops/trait.BitAnd.html"><code>ops::BitAnd</code></a>), as in <code>flags &amp; other</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.union" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.union" class="fnname">union</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the union of between the flags in <code>self</code> and <code>other</code>.</p>
<p>Specifically, the returned set contains all flags which are
present in <em>either</em> <code>self</code> <em>or</em> <code>other</code>, including any which are
present in both (see <a href="struct.Features.html#method.symmetric_difference" title="Self::symmetric_difference"><code>Self::symmetric_difference</code></a> if that
is undesirable).</p>
<p>This is equivalent to using the <code>|</code> operator (e.g.
<a href="https://doc.rust-lang.org/std/ops/trait.BitOr.html"><code>ops::BitOr</code></a>), as in <code>flags | other</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.difference" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.difference" class="fnname">difference</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the difference between the flags in <code>self</code> and <code>other</code>.</p>
<p>Specifically, the returned set contains all flags present in
<code>self</code>, except for the ones present in <code>other</code>.</p>
<p>It is also conceptually equivalent to the “bit-clear” operation:
<code>flags &amp; !other</code> (and this syntax is also supported).</p>
<p>This is equivalent to using the <code>-</code> operator (e.g.
<a href="https://doc.rust-lang.org/std/ops/trait.Sub.html"><code>ops::Sub</code></a>), as in <code>flags - other</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.symmetric_difference" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.symmetric_difference" class="fnname">symmetric_difference</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the <a href="https://en.wikipedia.org/wiki/Symmetric_difference">symmetric difference</a> between the flags
in <code>self</code> and <code>other</code>.</p>
<p>Specifically, the returned set contains the flags present which
are present in <code>self</code> or <code>other</code>, but that are not present in
both. Equivalently, it contains the flags present in <em>exactly
one</em> of the sets <code>self</code> and <code>other</code>.</p>
<p>This is equivalent to using the <code>^</code> operator (e.g.
<a href="https://doc.rust-lang.org/std/ops/trait.BitXor.html"><code>ops::BitXor</code></a>), as in <code>flags ^ other</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.complement" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.complement" class="fnname">complement</a>(self) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the complement of this set of flags.</p>
<p>Specifically, the returned set contains all the flags which are
not set in <code>self</code>, but which are allowed for this type.</p>
<p>Alternatively, it can be thought of as the set difference
between <a href="struct.Features.html#method.all"><code>Self::all()</code></a> and <code>self</code> (e.g. <code>Self::all() - self</code>)</p>
<p>This is equivalent to using the <code>!</code> operator (e.g.
<a href="https://doc.rust-lang.org/std/ops/trait.Not.html"><code>ops::Not</code></a>), as in <code>!flags</code>.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Features-2" class="impl has-srclink"><a href="#impl-Features-2" class="anchor"></a><h3 class="code-header in-band">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="rustdoc-toggle method-toggle" open><summary><section id="method.contains_invalid_bits" class="method has-srclink"><h4 class="code-header">pub fn <a href="#method.contains_invalid_bits" class="fnname">contains_invalid_bits</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if the bitflags contains bits that are not part of
the bitflags definition.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Features-3" class="impl has-srclink"><a href="#impl-Features-3" class="anchor"></a><h3 class="code-header in-band">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="rustdoc-toggle method-toggle" open><summary><section id="method.all_webgpu_mask" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.all_webgpu_mask" class="fnname">all_webgpu_mask</a>() -&gt; <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="rustdoc-toggle method-toggle" open><summary><section id="method.all_native_mask" class="method has-srclink"><h4 class="code-header">pub const fn <a href="#method.all_native_mask" class="fnname">all_native_mask</a>() -&gt; <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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Binary-for-Features" class="impl has-srclink"><a href="#impl-Binary-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.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="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl has-srclink"><a href="#method.fmt-1" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Binary.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitAnd%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-BitAnd%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitAnd.html" title="trait core::ops::bit::BitAnd">BitAnd</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.bitand" class="method trait-impl has-srclink"><a href="#method.bitand" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitAnd.html#tymethod.bitand" class="fnname">bitand</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the intersection between the two sets of flags.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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>&amp;</code> operator.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitAndAssign%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-BitAndAssign%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitAndAssign.html" title="trait core::ops::bit::BitAndAssign">BitAndAssign</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.bitand_assign" class="method trait-impl has-srclink"><a href="#method.bitand_assign" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitAndAssign.html#tymethod.bitand_assign" class="fnname">bitand_assign</a>(&amp;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>Disables all flags disabled in the set.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitFlags-for-Features" class="impl has-srclink"><a href="#impl-BitFlags-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html" title="trait bitflags::traits::BitFlags">BitFlags</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="rustdoc-toggle" open><summary><section id="associatedtype.Bits" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Bits" class="anchor"></a><h4 class="code-header">type <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#associatedtype.Bits" class="associatedtype">Bits</a> = <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>The underlying integer type.</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Iter" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Iter" class="anchor"></a><h4 class="code-header">type <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#associatedtype.Iter" class="associatedtype">Iter</a> = Iter</h4></section></summary><div class='docblock'>An iterator over enabled flags in an instance of the type.</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.IterNames" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.IterNames" class="anchor"></a><h4 class="code-header">type <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#associatedtype.IterNames" class="associatedtype">IterNames</a> = IterRaw</h4></section></summary><div class='docblock'>An iterator over the raw names and bits for enabled flags in an instance of the type.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.empty-1" class="method trait-impl has-srclink"><a href="#method.empty-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.empty" class="fnname">empty</a>() -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>Returns an empty set of flags.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.all-1" class="method trait-impl has-srclink"><a href="#method.all-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.all" class="fnname">all</a>() -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>Returns the set containing all flags.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.bits-1" class="method trait-impl has-srclink"><a href="#method.bits-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.bits" class="fnname">bits</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a></h4></section></summary><div class='docblock'>Returns the raw value of the flags currently stored.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_bits-1" class="method trait-impl has-srclink"><a href="#method.from_bits-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.from_bits" class="fnname">from_bits</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt;</h4></section></summary><div class='docblock'>Convert from underlying bit representation, unless that
representation contains bits that do not correspond to a flag. <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.from_bits">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_bits_truncate-1" class="method trait-impl has-srclink"><a href="#method.from_bits_truncate-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.from_bits_truncate" class="fnname">from_bits_truncate</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>Convert from underlying bit representation, dropping any bits
that do not correspond to flags. <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.from_bits_truncate">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_bits_retain-1" class="method trait-impl has-srclink"><a href="#method.from_bits_retain-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.from_bits_retain" class="fnname">from_bits_retain</a>(bits: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class='docblock'>Convert from underlying bit representation, preserving all
bits (even those not corresponding to a defined flag). <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.from_bits_retain">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_name-1" class="method trait-impl has-srclink"><a href="#method.from_name-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.from_name" class="fnname">from_name</a>(name: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt;</h4></section></summary><div class='docblock'>Get the flag for a particular name.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.iter-1" class="method trait-impl has-srclink"><a href="#method.iter-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.iter" class="fnname">iter</a>(&amp;self) -&gt; &lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> as <a class="trait" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html" title="trait bitflags::traits::BitFlags">BitFlags</a>&gt;::<a class="associatedtype" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#associatedtype.Iter" title="type bitflags::traits::BitFlags::Iter">Iter</a></h4></section></summary><div class='docblock'>Iterate over enabled flag values.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.iter_names-1" class="method trait-impl has-srclink"><a href="#method.iter_names-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.iter_names" class="fnname">iter_names</a>(&amp;self) -&gt; &lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a> as <a class="trait" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html" title="trait bitflags::traits::BitFlags">BitFlags</a>&gt;::<a class="associatedtype" href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#associatedtype.IterNames" title="type bitflags::traits::BitFlags::IterNames">IterNames</a></h4></section></summary><div class='docblock'>Iterate over the raw names and bits for enabled flag values.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_empty-1" class="method trait-impl has-srclink"><a href="#method.is_empty-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.is_empty" class="fnname">is_empty</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns <code>true</code> if no flags are currently stored.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_all-1" class="method trait-impl has-srclink"><a href="#method.is_all-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.is_all" class="fnname">is_all</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns <code>true</code> if all flags are currently set.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.intersects-1" class="method trait-impl has-srclink"><a href="#method.intersects-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.intersects" class="fnname">intersects</a>(&amp;self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns <code>true</code> if there are flags common to both <code>self</code> and <code>other</code>.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.contains-1" class="method trait-impl has-srclink"><a href="#method.contains-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.contains" class="fnname">contains</a>(&amp;self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns <code>true</code> if all of the flags in <code>other</code> are contained within <code>self</code>.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.insert-1" class="method trait-impl has-srclink"><a href="#method.insert-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.insert" class="fnname">insert</a>(&amp;mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class='docblock'>Inserts the specified flags in-place.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.remove-1" class="method trait-impl has-srclink"><a href="#method.remove-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.remove" class="fnname">remove</a>(&amp;mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class='docblock'>Removes the specified flags in-place.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.toggle-1" class="method trait-impl has-srclink"><a href="#method.toggle-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.toggle" class="fnname">toggle</a>(&amp;mut self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>)</h4></section></summary><div class='docblock'>Toggles the specified flags in-place.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.set-1" class="method trait-impl has-srclink"><a href="#method.set-1" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/bitflags/2.1.0/bitflags/traits/trait.BitFlags.html#tymethod.set" class="fnname">set</a>(&amp;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.65.0/std/primitive.bool.html">bool</a>)</h4></section></summary><div class='docblock'>Inserts or removes the specified flags depending on the passed value.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitOr%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-BitOr%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitOr.html" title="trait core::ops::bit::BitOr">BitOr</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.bitor" class="method trait-impl has-srclink"><a href="#method.bitor" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitOr.html#tymethod.bitor" class="fnname">bitor</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the union of the two sets of flags.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-2" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-2" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitOrAssign%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-BitOrAssign%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitOrAssign.html" title="trait core::ops::bit::BitOrAssign">BitOrAssign</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.bitor_assign" class="method trait-impl has-srclink"><a href="#method.bitor_assign" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitOrAssign.html#tymethod.bitor_assign" class="fnname">bitor_assign</a>(&amp;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>Adds the set of flags.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitXor%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-BitXor%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitXor.html" title="trait core::ops::bit::BitXor">BitXor</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.bitxor" class="method trait-impl has-srclink"><a href="#method.bitxor" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitXor.html#tymethod.bitxor" class="fnname">bitxor</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the left flags, but with all the right flags toggled.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-3" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-3" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BitXorAssign%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-BitXorAssign%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitXorAssign.html" title="trait core::ops::bit::BitXorAssign">BitXorAssign</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.bitxor_assign" class="method trait-impl has-srclink"><a href="#method.bitxor_assign" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.BitXorAssign.html#tymethod.bitxor_assign" class="fnname">bitxor_assign</a>(&amp;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>Toggles the set of flags.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Features" class="impl has-srclink"><a href="#impl-Clone-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.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.65.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/clone.rs.html#132-134">source</a></span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Features" class="impl has-srclink"><a href="#impl-Debug-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-2" class="method trait-impl has-srclink"><a href="#method.fmt-2" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Default-for-Features" class="impl has-srclink"><a href="#impl-Default-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.default" class="method trait-impl has-srclink"><a href="#method.default" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -&gt; <a class="struct" href="struct.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.65.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Extend%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-Extend%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.Extend.html" title="trait core::iter::traits::collect::Extend">Extend</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.extend" class="method trait-impl has-srclink"><a href="#method.extend" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.Extend.html#tymethod.extend" class="fnname">extend</a>&lt;T&gt;(&amp;mut self, iterator: T)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt;,</span></h4></section></summary><div class='docblock'>Extends a collection with the contents of an iterator. <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.Extend.html#tymethod.extend">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.extend_one" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/iter/traits/collect.rs.html#371">source</a><a href="#method.extend_one" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.Extend.html#method.extend_one" class="fnname">extend_one</a>(&amp;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="rustdoc-toggle method-toggle" open><summary><section id="method.extend_reserve" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/iter/traits/collect.rs.html#379">source</a><a href="#method.extend_reserve" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.Extend.html#method.extend_reserve" class="fnname">extend_reserve</a>(&amp;mut self, additional: <a class="primitive" href="https://doc.rust-lang.org/1.65.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.65.0/core/iter/traits/collect/trait.Extend.html#method.extend_reserve">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-FromIterator%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-FromIterator%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.FromIterator.html" title="trait core::iter::traits::collect::FromIterator">FromIterator</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl has-srclink"><a href="#method.from_iter" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter" class="fnname">from_iter</a>&lt;T&gt;(iterator: T) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt;,</span></h4></section></summary><div class='docblock'>Creates a value from an iterator. <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.FromIterator.html#tymethod.from_iter">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Hash-for-Features" class="impl has-srclink"><a href="#impl-Hash-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl has-srclink"><a href="#method.hash" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#tymethod.hash" class="fnname">hash</a>&lt;__H&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>__H)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;__H: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</span></h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/hash/mod.rs.html#237-239">source</a></span><a href="#method.hash_slice" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#method.hash_slice" class="fnname">hash_slice</a>&lt;H&gt;(data: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.slice.html">[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>H)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-IntoIterator-for-Features" class="impl has-srclink"><a href="#impl-IntoIterator-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle" open><summary><section id="associatedtype.Item" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Item" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle" open><summary><section id="associatedtype.IntoIter" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.IntoIter" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.IntoIterator.html#associatedtype.IntoIter" class="associatedtype">IntoIter</a> = Iter</h4></section></summary><div class='docblock'>Which kind of iterator are we turning this into?</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_iter" class="method trait-impl has-srclink"><a href="#method.into_iter" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter" class="fnname">into_iter</a>(self) -&gt; &lt;<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.65.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.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.65.0/core/iter/traits/collect/trait.IntoIterator.html#tymethod.into_iter">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-LowerHex-for-Features" class="impl has-srclink"><a href="#impl-LowerHex-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.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="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-4" class="method trait-impl has-srclink"><a href="#method.fmt-4" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.LowerHex.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Not-for-Features" class="impl has-srclink"><a href="#impl-Not-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle method-toggle" open><summary><section id="method.not" class="method trait-impl has-srclink"><a href="#method.not" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/bit/trait.Not.html#tymethod.not" class="fnname">not</a>(self) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the complement of this set of flags.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Octal-for-Features" class="impl has-srclink"><a href="#impl-Octal-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.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="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.Octal.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-PartialEq%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl has-srclink"><a href="#method.eq" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/cmp.rs.html#236">source</a></span><a href="#method.ne" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason. <a href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.PartialEq.html#method.ne">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-Sub%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.sub" class="method trait-impl has-srclink"><a href="#method.sub" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/arith/trait.Sub.html#tymethod.sub" class="fnname">sub</a>(self, other: <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>) -&gt; <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h4></section></summary><div class="docblock"><p>Returns the set difference of the two sets of flags.</p>
</div></details><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-4" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-4" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.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="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CFeatures%3E-for-Features" class="impl has-srclink"><a href="#impl-SubAssign%3CFeatures%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/ops/arith/trait.SubAssign.html" title="trait core::ops::arith::SubAssign">SubAssign</a>&lt;<a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a>&gt; 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="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign" class="method trait-impl has-srclink"><a href="#method.sub_assign" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/ops/arith/trait.SubAssign.html#tymethod.sub_assign" class="fnname">sub_assign</a>(&amp;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>Disables all flags enabled in the set.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-UpperHex-for-Features" class="impl has-srclink"><a href="#impl-UpperHex-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.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="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-3" class="method trait-impl has-srclink"><a href="#method.fmt-3" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/fmt/trait.UpperHex.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/fmt/struct.Error.html" title="struct core::fmt::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Formats the value using the given formatter.</div></details></div></details><section id="impl-Copy-for-Features" class="impl has-srclink"><a href="#impl-Copy-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.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 has-srclink"><a href="#impl-Eq-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-StructuralEq-for-Features" class="impl has-srclink"><a href="#impl-StructuralEq-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-StructuralPartialEq-for-Features" class="impl has-srclink"><a href="#impl-StructuralPartialEq-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.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 has-srclink"><a href="#impl-RefUnwindSafe-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-Send-for-Features" class="impl has-srclink"><a href="#impl-Send-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-Sync-for-Features" class="impl has-srclink"><a href="#impl-Sync-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-Unpin-for-Features" class="impl has-srclink"><a href="#impl-Unpin-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Features.html" title="struct maplibre::render::settings::Features">Features</a></h3></section><section id="impl-UnwindSafe-for-Features" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Features" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.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="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#209">source</a><a href="#impl-Borrow%3CT%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#211">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#218">source</a><a href="#impl-BorrowMut%3CT%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/borrow.rs.html#219">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-CallHasher-for-Features" class="impl has-srclink"><a href="#impl-CallHasher-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; CallHasher for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><section id="method.get_hash" class="method trait-impl has-srclink"><a href="#method.get_hash" class="anchor"></a><h4 class="code-header">fn <a class="fnname">get_hash</a>&lt;H, B&gt;(value: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>H, build_hasher: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>B) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.u64.html">u64</a><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;B: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.BuildHasher.html" title="trait core::hash::BuildHasher">BuildHasher</a>,</span></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Downcast%3CT%3E-for-Features" class="impl has-srclink"><a href="#impl-Downcast%3CT%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Downcast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.downcast" class="method trait-impl has-srclink"><a href="#method.downcast" class="anchor"></a><h4 class="code-header">fn <a class="fnname">downcast</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Downcast-for-Features" class="impl has-srclink"><a href="#impl-Downcast-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Downcast for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_any" class="method trait-impl has-srclink"><a href="#method.into_any" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into_any</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;T, <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static, <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Convert <code>Box&lt;dyn Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Box&lt;dyn Any&gt;</code>. <code>Box&lt;dyn Any&gt;</code> can
then be further <code>downcast</code> into <code>Box&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_any_rc" class="method trait-impl has-srclink"><a href="#method.into_any_rc" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into_any_rc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static&gt;</h4></section></summary><div class='docblock'>Convert <code>Rc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Rc&lt;Any&gt;</code>. <code>Rc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Rc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_any-1" class="method trait-impl has-srclink"><a href="#method.as_any-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;Any</code>s vtable from <code>&amp;Trait</code>s. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_any_mut" class="method trait-impl has-srclink"><a href="#method.as_any_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">as_any_mut</a>(&amp;mut self) -&gt; &amp;mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>Convert <code>&amp;mut Trait</code> (where <code>Trait: Downcast</code>) to <code>&amp;Any</code>. This is needed since Rust cannot
generate <code>&amp;mut Any</code>s vtable from <code>&amp;mut Trait</code>s. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DowncastSync-for-Features" class="impl has-srclink"><a href="#impl-DowncastSync-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; DowncastSync for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_any_arc" class="method trait-impl has-srclink"><a href="#method.into_any_arc" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into_any_arc</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;T&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.65.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static&gt;</h4></section></summary><div class='docblock'>Convert <code>Arc&lt;Trait&gt;</code> (where <code>Trait: Downcast</code>) to <code>Arc&lt;Any&gt;</code>. <code>Arc&lt;Any&gt;</code> can then be
further <code>downcast</code> into <code>Arc&lt;ConcreteType&gt;</code> where <code>ConcreteType</code> implements <code>Trait</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DynEq-for-Features" class="impl has-srclink"><a class="srclink 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 in-band">impl&lt;T&gt; <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,</span></h3></section></summary><div class="impl-items"><section id="method.as_any" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#18-20">source</a><a href="#method.as_any" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynEq.html#tymethod.as_any" class="fnname">as_any</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section><section id="method.dyn_eq" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#22-27">source</a><a href="#method.dyn_eq" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynEq.html#tymethod.dyn_eq" class="fnname">dyn_eq</a>(&amp;self, other: &amp;(dyn <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> + 'static)) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-DynHash-for-Features" class="impl has-srclink"><a class="srclink 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 in-band">impl&lt;T&gt; <a class="trait" href="../../util/label/trait.DynHash.html" title="trait maplibre::util::label::DynHash">DynHash</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> + <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,</span></h3></section></summary><div class="impl-items"><section id="method.as_dyn_eq" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#40-42">source</a><a href="#method.as_dyn_eq" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynHash.html#tymethod.as_dyn_eq" class="fnname">as_dyn_eq</a>(&amp;self) -&gt; &amp;(dyn <a class="trait" href="../../util/label/trait.DynEq.html" title="trait maplibre::util::label::DynEq">DynEq</a> + 'static)</h4></section><section id="method.dyn_hash" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/util/label.rs.html#44-47">source</a><a href="#method.dyn_hash" class="anchor"></a><h4 class="code-header">fn <a href="../../util/label/trait.DynHash.html#tymethod.dyn_hash" class="fnname">dyn_hash</a>(&amp;self, state: &amp;mut dyn <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>)</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18">source</a><a href="#impl-Equivalent%3CK%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;Q, K&gt; <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a>&lt;K&gt; for Q<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Q: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;K: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.65.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24">source</a><a href="#method.equivalent" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>K) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#559">source</a><a href="#impl-From%3CT%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#562">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Instrument-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#276">source</a><a href="#impl-Instrument-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html" title="trait tracing::instrument::Instrument">Instrument</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#82">source</a><a href="#method.instrument" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument" class="fnname">instrument</a>(self, span: <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="struct tracing::span::Span">Span</a>) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html" title="Span"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.instrument">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#121">source</a><a href="#method.in_current_span" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span" class="fnname">in_current_span</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.Instrumented.html" title="struct tracing::instrument::Instrumented">Instrumented</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html#method.current">current</a> <a href="https://docs.rs/tracing/0.1.37/tracing/span/struct.Span.html"><code>Span</code></a>, returning an
<code>Instrumented</code> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.Instrument.html#method.in_current_span">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#543">source</a><a href="#impl-Into%3CU%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#551">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/typenum/1.16.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-5" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-5" class="anchor"></a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.16.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-SumWithAccumulator%3CF%3E-for-Features" class="impl has-srclink"><a href="#impl-SumWithAccumulator%3CF%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;I, F&gt; SumWithAccumulator&lt;F&gt; for I<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = F&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sum_with_accumulator" class="method trait-impl has-srclink"><a href="#method.sum_with_accumulator" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sum_with_accumulator</a>&lt;Acc&gt;(self) -&gt; F<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Acc: SumAccumulator&lt;F&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://docs.rs/num-traits/0.2/num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a>,</span></h4></section></summary><div class='docblock'>Sums the items of an iterator</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#83">source</a><a href="#impl-ToOwned-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#88">source</a><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/alloc/borrow.rs.html#92">source</a><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;mut </a>T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.65.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#601">source</a><a href="#impl-TryFrom%3CU%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#607">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#586">source</a><a href="#impl-TryInto%3CU%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/1.65.0/src/core/convert/mod.rs.html#592">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Upcast%3CT%3E-for-Features" class="impl has-srclink"><a href="#impl-Upcast%3CT%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; Upcast&lt;T&gt; for T</h3></section></summary><div class="impl-items"><section id="method.upcast" class="method trait-impl has-srclink"><a href="#method.upcast" class="anchor"></a><h4 class="code-header">fn <a class="fnname">upcast</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.65.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>T&gt;</h4></section></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Features" class="impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#334">source</a><a href="#impl-WithSubscriber-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html" title="trait tracing::instrument::WithSubscriber">WithSubscriber</a> for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#169-171">source</a><a href="#method.with_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber" class="fnname">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/1.65.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://docs.rs/tracing-core/0.1.22/tracing_core/dispatcher/struct.Dispatch.html" title="struct tracing_core::dispatcher::Dispatch">Dispatch</a>&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_subscriber">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://docs.rs/tracing/0.1.37/src/tracing/instrument.rs.html#221">source</a><a href="#method.with_current_subscriber" class="anchor"></a><h4 class="code-header">fn <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber" class="fnname">with_current_subscriber</a>(self) -&gt; <a class="struct" href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="struct tracing::instrument::WithDispatch">WithDispatch</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="https://docs.rs/tracing/0.1.37/tracing/dispatcher/index.html#setting-the-default-subscriber">default</a> <a href="https://docs.rs/tracing-core/0.1.22/tracing_core/subscriber/trait.Subscriber.html"><code>Subscriber</code></a> to this type, returning a
<a href="https://docs.rs/tracing/0.1.37/tracing/instrument/struct.WithDispatch.html" title="WithDispatch"><code>WithDispatch</code></a> wrapper. <a href="https://docs.rs/tracing/0.1.37/tracing/instrument/trait.WithSubscriber.html#method.with_current_subscriber">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Within%3CG2%3E-for-Features" class="impl has-srclink"><a href="#impl-Within%3CG2%3E-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;G1, G2&gt; Within&lt;G2&gt; for G1<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;G2: Contains&lt;G1&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.is_within" class="method trait-impl has-srclink"><a href="#method.is_within" class="anchor"></a><h4 class="code-header">fn <a class="fnname">is_within</a>(&amp;self, b: <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.reference.html">&amp;</a>G2) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.65.0/std/primitive.bool.html">bool</a></h4></section></div></details><section id="impl-Resource-for-Features" class="impl has-srclink"><a class="srclink rightside" href="../../../src/maplibre/tcs/resources.rs.html#10">source</a><a href="#impl-Resource-for-Features" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="../../tcs/resources/trait.Resource.html" title="trait maplibre::tcs::resources::Resource">Resource</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static,</span></h3></section></div></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="maplibre" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.65.0 (897e37553 2022-11-02)" ></div></body></html>