Adding large folders

This commit is contained in:
2026-02-26 12:00:21 -05:00
parent 5400d82acd
commit 49701c85ad
47332 changed files with 1942573 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,77 @@
<!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="`IndexMap` is a hash table where the iteration order of the key-value pairs is independent of the hash values of the keys."><title>indexmap - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Crate indexmap</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section id="rustdoc-toc"><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#highlights" title="Highlights">Highlights</a></li><li><a href="#feature-flags" title="Feature Flags">Feature Flags</a></li><li><a href="#alternate-hashers" title="Alternate Hashers">Alternate Hashers</a></li><li><a href="#rust-version" title="Rust Version">Rust Version</a></li><li><a href="#no-standard-library-targets" title="No Standard Library Targets">No Standard Library Targets</a></li></ul><h3><a href="#reexports">Crate Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#macros" title="Macros">Macros</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><h1>Crate <span>indexmap</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/indexmap/lib.rs.html#1-284">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> is a hash table where the iteration order of the key-value
pairs is independent of the hash values of the keys.</p>
<p><a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> is a corresponding hash set using the same implementation and
with similar properties.</p>
<h4 id="highlights"><a class="doc-anchor" href="#highlights">§</a>Highlights</h4>
<p><a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> and <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> are drop-in compatible with the std <code>HashMap</code>
and <code>HashSet</code>, but they also have some features of note:</p>
<ul>
<li>The ordering semantics (see their documentation for details)</li>
<li>Sorting methods and the <a href="map/struct.IndexMap.html#method.pop" title="method indexmap::map::IndexMap::pop"><code>.pop()</code></a> methods.</li>
<li>The <a href="trait.Equivalent.html" title="trait indexmap::Equivalent"><code>Equivalent</code></a> trait, which offers more flexible equality definitions
between borrowed and owned versions of keys.</li>
<li>The <a href="map/trait.MutableKeys.html" title="trait indexmap::map::MutableKeys"><code>MutableKeys</code></a> trait, which gives opt-in mutable
access to map keys, and <a href="set/trait.MutableValues.html" title="trait indexmap::set::MutableValues"><code>MutableValues</code></a> for sets.</li>
</ul>
<h4 id="feature-flags"><a class="doc-anchor" href="#feature-flags">§</a>Feature Flags</h4>
<p>To reduce the amount of compiled code in the crate by default, certain
features are gated behind <a href="https://doc.rust-lang.org/cargo/reference/manifest.html#the-features-section">feature flags</a>. These allow you to opt in to (or
out of) functionality. Below is a list of the features available in this
crate.</p>
<ul>
<li><code>std</code>: Enables features which require the Rust standard library. For more
information see the section on <a href="#no-standard-library-targets"><code>no_std</code></a>.</li>
<li><code>rayon</code>: Enables parallel iteration and other parallel methods.</li>
<li><code>serde</code>: Adds implementations for <a href="%60::serde_core::Serialize%60"><code>Serialize</code></a> and <a href="%60::serde_core::Deserialize%60"><code>Deserialize</code></a>
to <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> and <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>. Alternative implementations for
(de)serializing <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> as an ordered sequence are available in the
[<code>map::serde_seq</code>] module.</li>
<li><code>arbitrary</code>: Adds implementations for the <a href="%60::arbitrary::Arbitrary%60"><code>arbitrary::Arbitrary</code></a> trait
to <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> and <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>.</li>
<li><code>quickcheck</code>: Adds implementations for the <a href="%60::quickcheck::Arbitrary%60"><code>quickcheck::Arbitrary</code></a> trait
to <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> and <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>.</li>
<li><code>borsh</code> (<strong>deprecated</strong>): Adds implementations for <a href="%60::borsh::BorshSerialize%60"><code>BorshSerialize</code></a> and
<a href="%60::borsh::BorshDeserialize%60"><code>BorshDeserialize</code></a> to <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> and <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>. Due to a cyclic
dependency that arose between <a href="%60::borsh%60"><code>borsh</code></a> and <code>indexmap</code>, <code>borsh v1.5.6</code>
added an <code>indexmap</code> feature that should be used instead of enabling the
feature here.</li>
</ul>
<p><em>Note: only the <code>std</code> feature is enabled by default.</em></p>
<h4 id="alternate-hashers"><a class="doc-anchor" href="#alternate-hashers">§</a>Alternate Hashers</h4>
<p><a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> and <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> have a default hasher type
<a href="https://doc.rust-lang.org/1.93.1/std/hash/random/struct.RandomState.html" title="struct std::hash::random::RandomState"><code>S = RandomState</code></a>,
just like the standard <code>HashMap</code> and <code>HashSet</code>, which is resistant to
HashDoS attacks but not the most performant. Type aliases can make it easier
to use alternate hashers:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>fnv::FnvBuildHasher;
<span class="kw">use </span>indexmap::{IndexMap, IndexSet};
<span class="kw">type </span>FnvIndexMap&lt;K, V&gt; = IndexMap&lt;K, V, FnvBuildHasher&gt;;
<span class="kw">type </span>FnvIndexSet&lt;T&gt; = IndexSet&lt;T, FnvBuildHasher&gt;;
<span class="kw">let </span>std: IndexSet&lt;i32&gt; = (<span class="number">0</span>..<span class="number">100</span>).collect();
<span class="kw">let </span>fnv: FnvIndexSet&lt;i32&gt; = (<span class="number">0</span>..<span class="number">100</span>).collect();
<span class="macro">assert_eq!</span>(std, fnv);</code></pre></div><h4 id="rust-version"><a class="doc-anchor" href="#rust-version">§</a>Rust Version</h4>
<p>This version of indexmap requires Rust 1.82 or later.</p>
<p>The indexmap 2.x release series will use a carefully considered version
upgrade policy, where in a later 2.x version, we will raise the minimum
required Rust version.</p>
<h3 id="no-standard-library-targets"><a class="doc-anchor" href="#no-standard-library-targets">§</a>No Standard Library Targets</h3>
<p>This crate supports being built without <code>std</code>, requiring <code>alloc</code> instead.
This is chosen by disabling the default “std” cargo feature, by adding
<code>default-features = false</code> to your dependency specification.</p>
<ul>
<li>Creating maps and sets using <a href="map/struct.IndexMap.html#method.new" title="associated function indexmap::map::IndexMap::new"><code>new</code></a> and
<a href="map/struct.IndexMap.html#method.with_capacity" title="associated function indexmap::map::IndexMap::with_capacity"><code>with_capacity</code></a> is unavailable without <code>std</code>.
Use methods <a href="map/struct.IndexMap.html#method.default" title="associated function indexmap::map::IndexMap::default"><code>IndexMap::default</code></a>, <a href="map/struct.IndexMap.html#method.with_hasher" title="associated function indexmap::map::IndexMap::with_hasher"><code>with_hasher</code></a>,
<a href="map/struct.IndexMap.html#method.with_capacity_and_hasher" title="associated function indexmap::map::IndexMap::with_capacity_and_hasher"><code>with_capacity_and_hasher</code></a> instead.
A no-std compatible hasher will be needed as well, for example
from the crate <code>twox-hash</code>.</li>
<li>Macros <a href="macro.indexmap.html" title="macro indexmap::indexmap"><code>indexmap!</code></a> and <a href="macro.indexset.html" title="macro indexmap::indexset"><code>indexset!</code></a> are unavailable without <code>std</code>. Use
the macros <a href="macro.indexmap_with_default.html" title="macro indexmap::indexmap_with_default"><code>indexmap_with_default!</code></a> and <a href="macro.indexset_with_default.html" title="macro indexmap::indexset_with_default"><code>indexset_with_default!</code></a> instead.</li>
</ul>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.IndexMap"><code>pub use crate::map::<a class="struct" href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap">IndexMap</a>;</code></dt><dt id="reexport.IndexSet"><code>pub use crate::set::<a class="struct" href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet">IndexSet</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="map/index.html" title="mod indexmap::map">map</a></dt><dd><a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> is a hash table where the iteration order of the key-value
pairs is independent of the hash values of the keys.</dd><dt><a class="mod" href="set/index.html" title="mod indexmap::set">set</a></dt><dd>A hash set implemented using <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a></dd></dl><h2 id="macros" class="section-header">Macros<a href="#macros" class="anchor">§</a></h2><dl class="item-table"><dt><a class="macro" href="macro.indexmap.html" title="macro indexmap::indexmap">indexmap</a></dt><dd>Create an <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> from a list of key-value pairs</dd><dt><a class="macro" href="macro.indexmap_with_default.html" title="macro indexmap::indexmap_with_default">indexmap_<wbr>with_<wbr>default</a></dt><dd>Create an <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> from a list of key-value pairs
and a <a href="https://doc.rust-lang.org/1.93.1/core/hash/struct.BuildHasherDefault.html" title="struct core::hash::BuildHasherDefault"><code>BuildHasherDefault</code></a>-wrapped custom hasher.</dd><dt><a class="macro" href="macro.indexset.html" title="macro indexmap::indexset">indexset</a></dt><dd>Create an <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> from a list of values</dd><dt><a class="macro" href="macro.indexset_with_default.html" title="macro indexmap::indexset_with_default">indexset_<wbr>with_<wbr>default</a></dt><dd>Create an <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> from a list of values
and a <a href="https://doc.rust-lang.org/1.93.1/core/hash/struct.BuildHasherDefault.html" title="struct core::hash::BuildHasherDefault"><code>BuildHasherDefault</code></a>-wrapped custom hasher.</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.TryReserveError.html" title="struct indexmap::TryReserveError">TryReserve<wbr>Error</a></dt><dd>The error type for <a href="map/struct.IndexMap.html#method.try_reserve" title="method indexmap::map::IndexMap::try_reserve"><code>try_reserve</code></a> methods.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.GetDisjointMutError.html" title="enum indexmap::GetDisjointMutError">GetDisjoint<wbr>MutError</a></dt><dd>The error type returned by <a href="map/struct.IndexMap.html#method.get_disjoint_indices_mut" title="method indexmap::map::IndexMap::get_disjoint_indices_mut"><code>get_disjoint_indices_mut</code></a>.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.Equivalent.html" title="trait indexmap::Equivalent">Equivalent</a></dt><dd>Key equivalence trait.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.OccupiedEntry.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.OccupiedEntry.html">../../../indexmap/map/struct.OccupiedEntry.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.OccupiedEntry.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.VacantEntry.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.VacantEntry.html">../../../indexmap/map/struct.VacantEntry.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.VacantEntry.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.indexmap.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.indexmap.html">macro.indexmap.html</a>...</p>
<script>location.replace("macro.indexmap.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,17 @@
<!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="Create an `IndexMap` from a list of key-value pairs"><title>indexmap in indexmap - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">indexmap</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">indexmap</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate indexmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">indexmap</a></div><h1>Macro <span class="macro">indexmap</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/indexmap/macros.rs.html#59-73">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! indexmap {
($($key:expr =&gt; $value:expr,)+) =&gt; { ... };
($($key:expr =&gt; $value:expr),*) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Create an <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> from a list of key-value pairs</p>
<h3 id="example"><a class="doc-anchor" href="#example">§</a>Example</h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>indexmap::indexmap;
<span class="kw">let </span>map = <span class="macro">indexmap!</span>{
<span class="string">"a" </span>=&gt; <span class="number">1</span>,
<span class="string">"b" </span>=&gt; <span class="number">2</span>,
};
<span class="macro">assert_eq!</span>(map[<span class="string">"a"</span>], <span class="number">1</span>);
<span class="macro">assert_eq!</span>(map[<span class="string">"b"</span>], <span class="number">2</span>);
<span class="macro">assert_eq!</span>(map.get(<span class="string">"c"</span>), <span class="prelude-val">None</span>);
<span class="comment">// "a" is the first key
</span><span class="macro">assert_eq!</span>(map.keys().next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="string">"a"</span>));</code></pre></div></div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.indexmap_with_default.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.indexmap_with_default.html">macro.indexmap_with_default.html</a>...</p>
<script>location.replace("macro.indexmap_with_default.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<!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="Create an `IndexMap` from a list of key-value pairs and a `BuildHasherDefault`-wrapped custom hasher."><title>indexmap_with_default in indexmap - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">indexmap_with_default</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">indexmap_<wbr>with_<wbr>default</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate indexmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">indexmap</a></div><h1>Macro <span class="macro">indexmap_<wbr>with_<wbr>default</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/indexmap/macros.rs.html#23-36">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! indexmap_with_default {
($H:ty; $($key:expr =&gt; $value:expr,)+) =&gt; { ... };
($H:ty; $($key:expr =&gt; $value:expr),*) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Create an <a href="map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> from a list of key-value pairs
and a <a href="https://doc.rust-lang.org/1.93.1/core/hash/struct.BuildHasherDefault.html" title="struct core::hash::BuildHasherDefault"><code>BuildHasherDefault</code></a>-wrapped custom hasher.</p>
<h3 id="example"><a class="doc-anchor" href="#example">§</a>Example</h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>indexmap::indexmap_with_default;
<span class="kw">use </span>fnv::FnvHasher;
<span class="kw">let </span>map = <span class="macro">indexmap_with_default!</span>{
FnvHasher;
<span class="string">"a" </span>=&gt; <span class="number">1</span>,
<span class="string">"b" </span>=&gt; <span class="number">2</span>,
};
<span class="macro">assert_eq!</span>(map[<span class="string">"a"</span>], <span class="number">1</span>);
<span class="macro">assert_eq!</span>(map[<span class="string">"b"</span>], <span class="number">2</span>);
<span class="macro">assert_eq!</span>(map.get(<span class="string">"c"</span>), <span class="prelude-val">None</span>);
<span class="comment">// "a" is the first key
</span><span class="macro">assert_eq!</span>(map.keys().next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="string">"a"</span>));</code></pre></div></div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.indexset.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.indexset.html">macro.indexset.html</a>...</p>
<script>location.replace("macro.indexset.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,17 @@
<!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="Create an `IndexSet` from a list of values"><title>indexset in indexmap - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">indexset</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">indexset</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate indexmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">indexmap</a></div><h1>Macro <span class="macro">indexset</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/indexmap/macros.rs.html#133-147">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! indexset {
($($value:expr,)+) =&gt; { ... };
($($value:expr),*) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Create an <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> from a list of values</p>
<h3 id="example"><a class="doc-anchor" href="#example">§</a>Example</h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>indexmap::indexset;
<span class="kw">let </span>set = <span class="macro">indexset!</span>{
<span class="string">"a"</span>,
<span class="string">"b"</span>,
};
<span class="macro">assert!</span>(set.contains(<span class="string">"a"</span>));
<span class="macro">assert!</span>(set.contains(<span class="string">"b"</span>));
<span class="macro">assert!</span>(!set.contains(<span class="string">"c"</span>));
<span class="comment">// "a" is the first value
</span><span class="macro">assert_eq!</span>(set.iter().next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="string">"a"</span>));</code></pre></div></div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=macro.indexset_with_default.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.indexset_with_default.html">macro.indexset_with_default.html</a>...</p>
<script>location.replace("macro.indexset_with_default.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<!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="Create an `IndexSet` from a list of values and a `BuildHasherDefault`-wrapped custom hasher."><title>indexset_with_default in indexmap - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc macro"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">indexset_with_default</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">indexset_<wbr>with_<wbr>default</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#example" title="Example">Example</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate indexmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">indexmap</a></div><h1>Macro <span class="macro">indexset_<wbr>with_<wbr>default</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/indexmap/macros.rs.html#97-110">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! indexset_with_default {
($H:ty; $($value:expr,)+) =&gt; { ... };
($H:ty; $($value:expr),*) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Create an <a href="set/struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> from a list of values
and a <a href="https://doc.rust-lang.org/1.93.1/core/hash/struct.BuildHasherDefault.html" title="struct core::hash::BuildHasherDefault"><code>BuildHasherDefault</code></a>-wrapped custom hasher.</p>
<h3 id="example"><a class="doc-anchor" href="#example">§</a>Example</h3>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>indexmap::indexset_with_default;
<span class="kw">use </span>fnv::FnvHasher;
<span class="kw">let </span>set = <span class="macro">indexset_with_default!</span>{
FnvHasher;
<span class="string">"a"</span>,
<span class="string">"b"</span>,
};
<span class="macro">assert!</span>(set.contains(<span class="string">"a"</span>));
<span class="macro">assert!</span>(set.contains(<span class="string">"b"</span>));
<span class="macro">assert!</span>(!set.contains(<span class="string">"c"</span>));
<span class="comment">// "a" is the first value
</span><span class="macro">assert_eq!</span>(set.iter().next(), <span class="prelude-val">Some</span>(<span class="kw-2">&amp;</span><span class="string">"a"</span>));</code></pre></div></div></details></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/enum.Entry.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/enum.Entry.html">../../../indexmap/map/enum.Entry.html</a>...</p>
<script>location.replace("../../../indexmap/map/enum.Entry.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.IndexedEntry.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.IndexedEntry.html">../../../indexmap/map/struct.IndexedEntry.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.IndexedEntry.html" + location.search + location.hash);</script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,7 @@
<!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="`IndexMap` is a hash table where the iteration order of the key-value pairs is independent of the hash values of the keys."><title>indexmap::map - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module map</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module map</a></h2><h3><a href="#reexports">Module Items</a></h3><ul class="block"><li><a href="#reexports" title="Re-exports">Re-exports</a></li><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate indexmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">indexmap</a></div><h1>Module <span>map</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/indexmap/map.rs.html#1-1889">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p><a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> is a hash table where the iteration order of the key-value
pairs is independent of the hash values of the keys.</p>
</div></details><h2 id="reexports" class="section-header">Re-exports<a href="#reexports" class="anchor">§</a></h2><dl class="item-table reexports"><dt id="reexport.RawEntryApiV1"><code>pub use self::raw_entry_v1::<a class="trait" href="raw_entry_v1/trait.RawEntryApiV1.html" title="trait indexmap::map::raw_entry_v1::RawEntryApiV1">RawEntryApiV1</a>;</code></dt></dl><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="raw_entry_v1/index.html" title="mod indexmap::map::raw_entry_v1">raw_<wbr>entry_<wbr>v1</a></dt><dd>Opt-in access to the experimental raw entry API.</dd></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Drain.html" title="struct indexmap::map::Drain">Drain</a></dt><dd>A draining iterator over the entries of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.ExtractIf.html" title="struct indexmap::map::ExtractIf">Extract<wbr>If</a></dt><dd>An extracting iterator for <code>IndexMap</code>.</dd><dt><a class="struct" href="struct.IndexMap.html" title="struct indexmap::map::IndexMap">Index<wbr>Map</a></dt><dd>A hash table where the iteration order of the key-value pairs is independent
of the hash values of the keys.</dd><dt><a class="struct" href="struct.IndexedEntry.html" title="struct indexmap::map::IndexedEntry">Indexed<wbr>Entry</a></dt><dd>A view into an occupied entry in an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> obtained by index.</dd><dt><a class="struct" href="struct.IntoIter.html" title="struct indexmap::map::IntoIter">Into<wbr>Iter</a></dt><dd>An owning iterator over the entries of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.IntoKeys.html" title="struct indexmap::map::IntoKeys">Into<wbr>Keys</a></dt><dd>An owning iterator over the keys of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.IntoValues.html" title="struct indexmap::map::IntoValues">Into<wbr>Values</a></dt><dd>An owning iterator over the values of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.Iter.html" title="struct indexmap::map::Iter">Iter</a></dt><dd>An iterator over the entries of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.IterMut.html" title="struct indexmap::map::IterMut">IterMut</a></dt><dd>A mutable iterator over the entries of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.IterMut2.html" title="struct indexmap::map::IterMut2">Iter<wbr>Mut2</a></dt><dd>A mutable iterator over the entries of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.Keys.html" title="struct indexmap::map::Keys">Keys</a></dt><dd>An iterator over the keys of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.OccupiedEntry.html" title="struct indexmap::map::OccupiedEntry">Occupied<wbr>Entry</a></dt><dd>A view into an occupied entry in an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.
It is part of the <a href="enum.Entry.html" title="enum indexmap::map::Entry"><code>Entry</code></a> enum.</dd><dt><a class="struct" href="struct.Slice.html" title="struct indexmap::map::Slice">Slice</a></dt><dd>A dynamically-sized slice of key-value pairs in an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.Splice.html" title="struct indexmap::map::Splice">Splice</a></dt><dd>A splicing iterator for <code>IndexMap</code>.</dd><dt><a class="struct" href="struct.VacantEntry.html" title="struct indexmap::map::VacantEntry">Vacant<wbr>Entry</a></dt><dd>A view into a vacant entry in an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.
It is part of the <a href="enum.Entry.html" title="enum indexmap::map::Entry"><code>Entry</code></a> enum.</dd><dt><a class="struct" href="struct.Values.html" title="struct indexmap::map::Values">Values</a></dt><dd>An iterator over the values of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd><dt><a class="struct" href="struct.ValuesMut.html" title="struct indexmap::map::ValuesMut">Values<wbr>Mut</a></dt><dd>A mutable iterator over the values of an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.Entry.html" title="enum indexmap::map::Entry">Entry</a></dt><dd>Entry for an existing key-value pair in an <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>
or a vacant location to insert one.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey">Mutable<wbr>Entry<wbr>Key</a></dt><dd>Opt-in mutable access to <a href="enum.Entry.html" title="enum indexmap::map::Entry"><code>Entry</code></a> keys.</dd><dt><a class="trait" href="trait.MutableKeys.html" title="trait indexmap::map::MutableKeys">Mutable<wbr>Keys</a></dt><dd>Opt-in mutable access to <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> keys.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.Drain.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.Drain.html">../../../indexmap/map/struct.Drain.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.Drain.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.ExtractIf.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.ExtractIf.html">../../../indexmap/map/struct.ExtractIf.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.ExtractIf.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.IntoIter.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.IntoIter.html">../../../indexmap/map/struct.IntoIter.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.IntoIter.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.IntoKeys.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.IntoKeys.html">../../../indexmap/map/struct.IntoKeys.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.IntoKeys.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.IntoValues.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.IntoValues.html">../../../indexmap/map/struct.IntoValues.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.IntoValues.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.Iter.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.Iter.html">../../../indexmap/map/struct.Iter.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.Iter.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.IterMut.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.IterMut.html">../../../indexmap/map/struct.IterMut.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.IterMut.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.IterMut2.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.IterMut2.html">../../../indexmap/map/struct.IterMut2.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.IterMut2.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.Keys.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.Keys.html">../../../indexmap/map/struct.Keys.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.Keys.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.Splice.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.Splice.html">../../../indexmap/map/struct.Splice.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.Splice.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.Values.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.Values.html">../../../indexmap/map/struct.Values.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.Values.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.ValuesMut.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.ValuesMut.html">../../../indexmap/map/struct.ValuesMut.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.ValuesMut.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/trait.MutableEntryKey.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/trait.MutableEntryKey.html">../../../indexmap/map/trait.MutableEntryKey.html</a>...</p>
<script>location.replace("../../../indexmap/map/trait.MutableEntryKey.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/trait.MutableKeys.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/trait.MutableKeys.html">../../../indexmap/map/trait.MutableKeys.html</a>...</p>
<script>location.replace("../../../indexmap/map/trait.MutableKeys.html" + location.search + location.hash);</script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
<!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="Opt-in access to the experimental raw entry API."><title>indexmap::map::raw_entry_v1 - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module raw_entry_v1</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module raw_<wbr>entry_<wbr>v1</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In indexmap::<wbr>map</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">indexmap</a>::<wbr><a href="../index.html">map</a></div><h1>Module <span>raw_<wbr>entry_<wbr>v1</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/indexmap/map/raw_entry_v1.rs.html#1-636">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Opt-in access to the experimental raw entry API.</p>
<p>This module is designed to mimic the raw entry API of <a href="https://doc.rust-lang.org/1.93.1/std/collections/hash_map/index.html" title="mod std::collections::hash_map"><code>HashMap</code></a>,
matching its unstable state as of Rust 1.75. See the tracking issue
<a href="https://github.com/rust-lang/rust/issues/56167">rust#56167</a> for more details.</p>
<p>The trait <a href="trait.RawEntryApiV1.html" title="trait indexmap::map::raw_entry_v1::RawEntryApiV1"><code>RawEntryApiV1</code></a> and the <code>_v1</code> suffix on its methods are meant to insulate this for
the future, in case later breaking changes are needed. If the standard library stabilizes its
<code>hash_raw_entry</code> feature (or some replacement), matching <em>inherent</em> methods will be added to
<code>IndexMap</code> without such an opt-in trait.</p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.RawEntryBuilder.html" title="struct indexmap::map::raw_entry_v1::RawEntryBuilder">RawEntry<wbr>Builder</a></dt><dd>A builder for computing where in an <a href="../struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> a key-value pair would be stored.</dd><dt><a class="struct" href="struct.RawEntryBuilderMut.html" title="struct indexmap::map::raw_entry_v1::RawEntryBuilderMut">RawEntry<wbr>Builder<wbr>Mut</a></dt><dd>A builder for computing where in an <a href="../struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> a key-value pair would be stored.</dd><dt><a class="struct" href="struct.RawOccupiedEntryMut.html" title="struct indexmap::map::raw_entry_v1::RawOccupiedEntryMut">RawOccupied<wbr>Entry<wbr>Mut</a></dt><dd>A raw view into an occupied entry in an <a href="../struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.
It is part of the <a href="enum.RawEntryMut.html" title="enum indexmap::map::raw_entry_v1::RawEntryMut"><code>RawEntryMut</code></a> enum.</dd><dt><a class="struct" href="struct.RawVacantEntryMut.html" title="struct indexmap::map::raw_entry_v1::RawVacantEntryMut">RawVacant<wbr>Entry<wbr>Mut</a></dt><dd>A view into a vacant raw entry in an <a href="../struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.
It is part of the <a href="enum.RawEntryMut.html" title="enum indexmap::map::raw_entry_v1::RawEntryMut"><code>RawEntryMut</code></a> enum.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.RawEntryMut.html" title="enum indexmap::map::raw_entry_v1::RawEntryMut">RawEntry<wbr>Mut</a></dt><dd>Raw entry for an existing key-value pair or a vacant location to
insert one.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.RawEntryApiV1.html" title="trait indexmap::map::raw_entry_v1::RawEntryApiV1">RawEntry<wbr>ApiV1</a></dt><dd>Opt-in access to the experimental raw entry API.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["RawEntryMut"],"struct":["RawEntryBuilder","RawEntryBuilderMut","RawOccupiedEntryMut","RawVacantEntryMut"],"trait":["RawEntryApiV1"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,124 @@
<!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="Opt-in access to the experimental raw entry API."><title>RawEntryApiV1 in indexmap::map::raw_entry_v1 - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">RawEntryApiV1</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">RawEntry<wbr>ApiV1</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.raw_entry_mut_v1" title="raw_entry_mut_v1">raw_entry_mut_v1</a></li><li><a href="#tymethod.raw_entry_v1" title="raw_entry_v1">raw_entry_v1</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In indexmap::<wbr>map::<wbr>raw_<wbr>entry_<wbr>v1</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">indexmap</a>::<wbr><a href="../index.html">map</a>::<wbr><a href="index.html">raw_entry_v1</a></div><h1>Trait <span class="trait">RawEntry<wbr>ApiV1</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/indexmap/map/raw_entry_v1.rs.html#23-159">Source</a> </span></div><pre class="rust item-decl"><code>pub trait RawEntryApiV1&lt;K, V, S&gt;: Sealed {
// Required methods
fn <a href="#tymethod.raw_entry_v1" class="fn">raw_entry_v1</a>(&amp;self) -&gt; <a class="struct" href="struct.RawEntryBuilder.html" title="struct indexmap::map::raw_entry_v1::RawEntryBuilder">RawEntryBuilder</a>&lt;'_, K, V, S&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.raw_entry_mut_v1" class="fn">raw_entry_mut_v1</a>(&amp;mut self) -&gt; <a class="struct" href="struct.RawEntryBuilderMut.html" title="struct indexmap::map::raw_entry_v1::RawEntryBuilderMut">RawEntryBuilderMut</a>&lt;'_, K, V, S&gt;;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Opt-in access to the experimental raw entry API.</p>
<p>See the <a href="index.html" title="mod indexmap::map::raw_entry_v1"><code>raw_entry_v1</code></a> module documentation for more information.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.raw_entry_v1" class="method"><a class="src rightside" href="../../../src/indexmap/map/raw_entry_v1.rs.html#66">Source</a><h4 class="code-header">fn <a href="#tymethod.raw_entry_v1" class="fn">raw_entry_v1</a>(&amp;self) -&gt; <a class="struct" href="struct.RawEntryBuilder.html" title="struct indexmap::map::raw_entry_v1::RawEntryBuilder">RawEntryBuilder</a>&lt;'_, K, V, S&gt;</h4></section></summary><div class="docblock"><p>Creates a raw immutable entry builder for the <a href="../struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</p>
<p>Raw entries provide the lowest level of control for searching and
manipulating a map. They must be manually initialized with a hash and
then manually searched.</p>
<p>This is useful for</p>
<ul>
<li>Hash memoization</li>
<li>Using a search key that doesnt work with the <a href="../../trait.Equivalent.html" title="trait indexmap::Equivalent"><code>Equivalent</code></a> trait</li>
<li>Using custom comparison logic without newtype wrappers</li>
</ul>
<p>Unless you are in such a situation, higher-level and more foolproof APIs like
<a href="../struct.IndexMap.html#method.get" title="method indexmap::map::IndexMap::get"><code>get</code></a> should be preferred.</p>
<p>Immutable raw entries have very limited use; you might instead want
<a href="trait.RawEntryApiV1.html#tymethod.raw_entry_mut_v1"><code>raw_entry_mut_v1</code></a>.</p>
<h5 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>core::hash::BuildHasher;
<span class="kw">use </span>indexmap::map::{IndexMap, RawEntryApiV1};
<span class="kw">let </span><span class="kw-2">mut </span>map = IndexMap::new();
map.extend([(<span class="string">"a"</span>, <span class="number">100</span>), (<span class="string">"b"</span>, <span class="number">200</span>), (<span class="string">"c"</span>, <span class="number">300</span>)]);
<span class="kw">for </span>k <span class="kw">in </span>[<span class="string">"a"</span>, <span class="string">"b"</span>, <span class="string">"c"</span>, <span class="string">"d"</span>, <span class="string">"e"</span>, <span class="string">"f"</span>] {
<span class="kw">let </span>hash = map.hasher().hash_one(k);
<span class="kw">let </span>i = map.get_index_of(k);
<span class="kw">let </span>v = map.get(k);
<span class="kw">let </span>kv = map.get_key_value(k);
<span class="kw">let </span>ikv = map.get_full(k);
<span class="macro">println!</span>(<span class="string">"Key: {} and value: {:?}"</span>, k, v);
<span class="macro">assert_eq!</span>(map.raw_entry_v1().from_key(k), kv);
<span class="macro">assert_eq!</span>(map.raw_entry_v1().from_hash(hash, |q| <span class="kw-2">*</span>q == k), kv);
<span class="macro">assert_eq!</span>(map.raw_entry_v1().from_key_hashed_nocheck(hash, k), kv);
<span class="macro">assert_eq!</span>(map.raw_entry_v1().from_hash_full(hash, |q| <span class="kw-2">*</span>q == k), ikv);
<span class="macro">assert_eq!</span>(map.raw_entry_v1().index_from_hash(hash, |q| <span class="kw-2">*</span>q == k), i);
}</code></pre></div></div></details><details class="toggle method-toggle" open><summary><section id="tymethod.raw_entry_mut_v1" class="method"><a class="src rightside" href="../../../src/indexmap/map/raw_entry_v1.rs.html#158">Source</a><h4 class="code-header">fn <a href="#tymethod.raw_entry_mut_v1" class="fn">raw_entry_mut_v1</a>(&amp;mut self) -&gt; <a class="struct" href="struct.RawEntryBuilderMut.html" title="struct indexmap::map::raw_entry_v1::RawEntryBuilderMut">RawEntryBuilderMut</a>&lt;'_, K, V, S&gt;</h4></section></summary><div class="docblock"><p>Creates a raw entry builder for the <a href="../struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a>.</p>
<p>Raw entries provide the lowest level of control for searching and
manipulating a map. They must be manually initialized with a hash and
then manually searched. After this, insertions into a vacant entry
still require an owned key to be provided.</p>
<p>Raw entries are useful for such exotic situations as:</p>
<ul>
<li>Hash memoization</li>
<li>Deferring the creation of an owned key until it is known to be required</li>
<li>Using a search key that doesnt work with the <a href="../../trait.Equivalent.html" title="trait indexmap::Equivalent"><code>Equivalent</code></a> trait</li>
<li>Using custom comparison logic without newtype wrappers</li>
</ul>
<p>Because raw entries provide much more low-level control, its much easier
to put the <code>IndexMap</code> into an inconsistent state which, while memory-safe,
will cause the map to produce seemingly random results. Higher-level and more
foolproof APIs like <a href="../struct.IndexMap.html#method.entry" title="method indexmap::map::IndexMap::entry"><code>entry</code></a> should be preferred when possible.</p>
<p>Raw entries give mutable access to the keys. This must not be used
to modify how the key would compare or hash, as the map will not re-evaluate
where the key should go, meaning the keys may become “lost” if their
location does not reflect their state. For instance, if you change a key
so that the map now contains keys which compare equal, search may start
acting erratically, with two keys randomly masking each other. Implementations
are free to assume this doesnt happen (within the limits of memory-safety).</p>
<h5 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>core::hash::BuildHasher;
<span class="kw">use </span>indexmap::map::{IndexMap, RawEntryApiV1};
<span class="kw">use </span>indexmap::map::raw_entry_v1::RawEntryMut;
<span class="kw">let </span><span class="kw-2">mut </span>map = IndexMap::new();
map.extend([(<span class="string">"a"</span>, <span class="number">100</span>), (<span class="string">"b"</span>, <span class="number">200</span>), (<span class="string">"c"</span>, <span class="number">300</span>)]);
<span class="comment">// Existing key (insert and update)
</span><span class="kw">match </span>map.raw_entry_mut_v1().from_key(<span class="string">"a"</span>) {
RawEntryMut::Vacant(<span class="kw">_</span>) =&gt; <span class="macro">unreachable!</span>(),
RawEntryMut::Occupied(<span class="kw-2">mut </span>view) =&gt; {
<span class="macro">assert_eq!</span>(view.index(), <span class="number">0</span>);
<span class="macro">assert_eq!</span>(view.get(), <span class="kw-2">&amp;</span><span class="number">100</span>);
<span class="kw">let </span>v = view.get_mut();
<span class="kw">let </span>new_v = (<span class="kw-2">*</span>v) * <span class="number">10</span>;
<span class="kw-2">*</span>v = new_v;
<span class="macro">assert_eq!</span>(view.insert(<span class="number">1111</span>), <span class="number">1000</span>);
}
}
<span class="macro">assert_eq!</span>(map[<span class="string">"a"</span>], <span class="number">1111</span>);
<span class="macro">assert_eq!</span>(map.len(), <span class="number">3</span>);
<span class="comment">// Existing key (take)
</span><span class="kw">let </span>hash = map.hasher().hash_one(<span class="string">"c"</span>);
<span class="kw">match </span>map.raw_entry_mut_v1().from_key_hashed_nocheck(hash, <span class="string">"c"</span>) {
RawEntryMut::Vacant(<span class="kw">_</span>) =&gt; <span class="macro">unreachable!</span>(),
RawEntryMut::Occupied(view) =&gt; {
<span class="macro">assert_eq!</span>(view.index(), <span class="number">2</span>);
<span class="macro">assert_eq!</span>(view.shift_remove_entry(), (<span class="string">"c"</span>, <span class="number">300</span>));
}
}
<span class="macro">assert_eq!</span>(map.raw_entry_v1().from_key(<span class="string">"c"</span>), <span class="prelude-val">None</span>);
<span class="macro">assert_eq!</span>(map.len(), <span class="number">2</span>);
<span class="comment">// Nonexistent key (insert and update)
</span><span class="kw">let </span>key = <span class="string">"d"</span>;
<span class="kw">let </span>hash = map.hasher().hash_one(key);
<span class="kw">match </span>map.raw_entry_mut_v1().from_hash(hash, |q| <span class="kw-2">*</span>q == key) {
RawEntryMut::Occupied(<span class="kw">_</span>) =&gt; <span class="macro">unreachable!</span>(),
RawEntryMut::Vacant(view) =&gt; {
<span class="macro">assert_eq!</span>(view.index(), <span class="number">2</span>);
<span class="kw">let </span>(k, value) = view.insert(<span class="string">"d"</span>, <span class="number">4000</span>);
<span class="macro">assert_eq!</span>((<span class="kw-2">*</span>k, <span class="kw-2">*</span>value), (<span class="string">"d"</span>, <span class="number">4000</span>));
<span class="kw-2">*</span>value = <span class="number">40000</span>;
}
}
<span class="macro">assert_eq!</span>(map[<span class="string">"d"</span>], <span class="number">40000</span>);
<span class="macro">assert_eq!</span>(map.len(), <span class="number">3</span>);
<span class="kw">match </span>map.raw_entry_mut_v1().from_hash(hash, |q| <span class="kw-2">*</span>q == key) {
RawEntryMut::Vacant(<span class="kw">_</span>) =&gt; <span class="macro">unreachable!</span>(),
RawEntryMut::Occupied(view) =&gt; {
<span class="macro">assert_eq!</span>(view.index(), <span class="number">2</span>);
<span class="macro">assert_eq!</span>(view.swap_remove_entry(), (<span class="string">"d"</span>, <span class="number">40000</span>));
}
}
<span class="macro">assert_eq!</span>(map.get(<span class="string">"d"</span>), <span class="prelude-val">None</span>);
<span class="macro">assert_eq!</span>(map.len(), <span class="number">2</span>);</code></pre></div></div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-RawEntryApiV1%3CK,+V,+S%3E-for-IndexMap%3CK,+V,+S%3E" class="impl"><a class="src rightside" href="../../../src/indexmap/map/raw_entry_v1.rs.html#161-169">Source</a><a href="#impl-RawEntryApiV1%3CK,+V,+S%3E-for-IndexMap%3CK,+V,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K, V, S&gt; <a class="trait" href="trait.RawEntryApiV1.html" title="trait indexmap::map::raw_entry_v1::RawEntryApiV1">RawEntryApiV1</a>&lt;K, V, S&gt; for <a class="struct" href="../struct.IndexMap.html" title="struct indexmap::map::IndexMap">IndexMap</a>&lt;K, V, S&gt;</h3></section></div><script src="../../../trait.impl/indexmap/map/raw_entry_v1/trait.RawEntryApiV1.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["Entry"],"mod":["raw_entry_v1"],"struct":["Drain","ExtractIf","IndexMap","IndexedEntry","IntoIter","IntoKeys","IntoValues","Iter","IterMut","IterMut2","Keys","OccupiedEntry","Slice","Splice","VacantEntry","Values","ValuesMut"],"trait":["MutableEntryKey","MutableKeys"]};

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/map/struct.Slice.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/map/struct.Slice.html">../../../indexmap/map/struct.Slice.html</a>...</p>
<script>location.replace("../../../indexmap/map/struct.Slice.html" + location.search + location.hash);</script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,26 @@
<!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="Opt-in mutable access to `Entry` keys."><title>MutableEntryKey in indexmap::map - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">MutableEntryKey</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Mutable<wbr>Entry<wbr>Key</a></h2><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Key" title="Key">Key</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.key_mut" title="key_mut">key_mut</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In indexmap::<wbr>map</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">indexmap</a>::<wbr><a href="index.html">map</a></div><h1>Trait <span class="trait">Mutable<wbr>Entry<wbr>Key</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/indexmap/map/mutable.rs.html#108-114">Source</a> </span></div><pre class="rust item-decl"><code>pub trait MutableEntryKey: Sealed {
type <a href="#associatedtype.Key" class="associatedtype">Key</a>;
// Required method
fn <a href="#tymethod.key_mut" class="fn">key_mut</a>(&amp;mut self) -&gt; &amp;mut Self::<a class="associatedtype" href="trait.MutableEntryKey.html#associatedtype.Key" title="type indexmap::map::MutableEntryKey::Key">Key</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Opt-in mutable access to <a href="enum.Entry.html" title="enum indexmap::map::Entry"><code>Entry</code></a> keys.</p>
<p>These methods expose <code>&amp;mut K</code>, mutable references to the key as it is stored
in the map.
You are allowed to modify the keys in the map <strong>if the modification
does not change the keys hash and equality</strong>.</p>
<p>If keys are modified erroneously, you can no longer look them up.
This is sound (memory safe) but a logical error hazard (just like
implementing <code>PartialEq</code>, <code>Eq</code>, or <code>Hash</code> incorrectly would be).</p>
<p><code>use</code> this trait to enable its methods for <code>Entry</code>.</p>
<p>This trait is sealed and cannot be implemented for types outside this crate.</p>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.Key" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#109">Source</a><h4 class="code-header">type <a href="#associatedtype.Key" class="associatedtype">Key</a></h4></section></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.key_mut" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#113">Source</a><h4 class="code-header">fn <a href="#tymethod.key_mut" class="fn">key_mut</a>(&amp;mut self) -&gt; &amp;mut Self::<a class="associatedtype" href="trait.MutableEntryKey.html#associatedtype.Key" title="type indexmap::map::MutableEntryKey::Key">Key</a></h4></section></summary><div class="docblock"><p>Gets a mutable reference to the entrys key, either within the map if occupied,
or else the new key that was used to find the entry.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-MutableEntryKey-for-Entry%3C'_,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#119-127">Source</a><a href="#impl-MutableEntryKey-for-Entry%3C'_,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K, V&gt; <a class="trait" href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey">MutableEntryKey</a> for <a class="enum" href="enum.Entry.html" title="enum indexmap::map::Entry">Entry</a>&lt;'_, K, V&gt;</h3><div class="docblock"><p>Opt-in mutable access to <a href="enum.Entry.html" title="enum indexmap::map::Entry"><code>Entry</code></a> keys.</p>
</div></section></summary><div class="docblock"><p>See <a href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey"><code>MutableEntryKey</code></a> for more information.</p>
</div><div class="impl-items"><section id="associatedtype.Key-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#120">Source</a><a href="#associatedtype.Key-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Key" class="associatedtype">Key</a> = K</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MutableEntryKey-for-IndexedEntry%3C'_,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#152-157">Source</a><a href="#impl-MutableEntryKey-for-IndexedEntry%3C'_,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K, V&gt; <a class="trait" href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey">MutableEntryKey</a> for <a class="struct" href="struct.IndexedEntry.html" title="struct indexmap::map::IndexedEntry">IndexedEntry</a>&lt;'_, K, V&gt;</h3><div class="docblock"><p>Opt-in mutable access to <a href="struct.IndexedEntry.html" title="struct indexmap::map::IndexedEntry"><code>IndexedEntry</code></a> keys.</p>
</div></section></summary><div class="docblock"><p>See <a href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey"><code>MutableEntryKey</code></a> for more information.</p>
</div><div class="impl-items"><section id="associatedtype.Key-2" class="associatedtype trait-impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#153">Source</a><a href="#associatedtype.Key-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Key" class="associatedtype">Key</a> = K</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MutableEntryKey-for-OccupiedEntry%3C'_,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#132-137">Source</a><a href="#impl-MutableEntryKey-for-OccupiedEntry%3C'_,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K, V&gt; <a class="trait" href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey">MutableEntryKey</a> for <a class="struct" href="struct.OccupiedEntry.html" title="struct indexmap::map::OccupiedEntry">OccupiedEntry</a>&lt;'_, K, V&gt;</h3><div class="docblock"><p>Opt-in mutable access to <a href="struct.OccupiedEntry.html" title="struct indexmap::map::OccupiedEntry"><code>OccupiedEntry</code></a> keys.</p>
</div></section></summary><div class="docblock"><p>See <a href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey"><code>MutableEntryKey</code></a> for more information.</p>
</div><div class="impl-items"><section id="associatedtype.Key-3" class="associatedtype trait-impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#133">Source</a><a href="#associatedtype.Key-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Key" class="associatedtype">Key</a> = K</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-MutableEntryKey-for-VacantEntry%3C'_,+K,+V%3E" class="impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#142-147">Source</a><a href="#impl-MutableEntryKey-for-VacantEntry%3C'_,+K,+V%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K, V&gt; <a class="trait" href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey">MutableEntryKey</a> for <a class="struct" href="struct.VacantEntry.html" title="struct indexmap::map::VacantEntry">VacantEntry</a>&lt;'_, K, V&gt;</h3><div class="docblock"><p>Opt-in mutable access to <a href="struct.VacantEntry.html" title="struct indexmap::map::VacantEntry"><code>VacantEntry</code></a> keys.</p>
</div></section></summary><div class="docblock"><p>See <a href="trait.MutableEntryKey.html" title="trait indexmap::map::MutableEntryKey"><code>MutableEntryKey</code></a> for more information.</p>
</div><div class="impl-items"><section id="associatedtype.Key-4" class="associatedtype trait-impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#143">Source</a><a href="#associatedtype.Key-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Key" class="associatedtype">Key</a> = K</h4></section></div></details></div><script src="../../trait.impl/indexmap/map/mutable/trait.MutableEntryKey.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1,50 @@
<!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="Opt-in mutable access to `IndexMap` keys."><title>MutableKeys in indexmap::map - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">MutableKeys</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Mutable<wbr>Keys</a></h2><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Key" title="Key">Key</a></li><li><a href="#associatedtype.Value" title="Value">Value</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.get_full_mut2" title="get_full_mut2">get_full_mut2</a></li><li><a href="#tymethod.get_index_mut2" title="get_index_mut2">get_index_mut2</a></li><li><a href="#tymethod.iter_mut2" title="iter_mut2">iter_mut2</a></li><li><a href="#tymethod.retain2" title="retain2">retain2</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In indexmap::<wbr>map</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">indexmap</a>::<wbr><a href="index.html">map</a></div><h1>Trait <span class="trait">Mutable<wbr>Keys</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/indexmap/map/mutable.rs.html#22-53">Source</a> </span></div><pre class="rust item-decl"><code>pub trait MutableKeys: Sealed {
type <a href="#associatedtype.Key" class="associatedtype">Key</a>;
type <a href="#associatedtype.Value" class="associatedtype">Value</a>;
// Required methods
fn <a href="#tymethod.get_full_mut2" class="fn">get_full_mut2</a>&lt;Q&gt;(
&amp;mut self,
key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Q</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>)&gt;
<span class="where">where Q: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="../trait.Equivalent.html" title="trait indexmap::Equivalent">Equivalent</a>&lt;Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>&gt;</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_index_mut2" class="fn">get_index_mut2</a>(
&amp;mut self,
index: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>)&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.iter_mut2" class="fn">iter_mut2</a>(&amp;mut self) -&gt; <a class="struct" href="struct.IterMut2.html" title="struct indexmap::map::IterMut2">IterMut2</a>&lt;'_, Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>&gt; <a href="#" class="tooltip" data-notable-ty="IterMut2&lt;&#39;_, Self::Key, Self::Value&gt;"></a>;
<span class="item-spacer"></span> fn <a href="#tymethod.retain2" class="fn">retain2</a>&lt;F&gt;(&amp;mut self, keep: F)
<span class="where">where F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></span>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Opt-in mutable access to <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> keys.</p>
<p>These methods expose <code>&amp;mut K</code>, mutable references to the key as it is stored
in the map.
You are allowed to modify the keys in the map <strong>if the modification
does not change the keys hash and equality</strong>.</p>
<p>If keys are modified erroneously, you can no longer look them up.
This is sound (memory safe) but a logical error hazard (just like
implementing <code>PartialEq</code>, <code>Eq</code>, or <code>Hash</code> incorrectly would be).</p>
<p><code>use</code> this trait to enable its methods for <code>IndexMap</code>.</p>
<p>This trait is sealed and cannot be implemented for types outside this crate.</p>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.Key" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#23">Source</a><h4 class="code-header">type <a href="#associatedtype.Key" class="associatedtype">Key</a></h4></section><section id="associatedtype.Value" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#24">Source</a><h4 class="code-header">type <a href="#associatedtype.Value" class="associatedtype">Value</a></h4></section></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.get_full_mut2" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#29-31">Source</a><h4 class="code-header">fn <a href="#tymethod.get_full_mut2" class="fn">get_full_mut2</a>&lt;Q&gt;(
&amp;mut self,
key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Q</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>)&gt;<div class="where">where
Q: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="../trait.Equivalent.html" title="trait indexmap::Equivalent">Equivalent</a>&lt;Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Return item index, mutable reference to key and value</p>
<p>Computes in <strong>O(1)</strong> time (average).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_index_mut2" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#38">Source</a><h4 class="code-header">fn <a href="#tymethod.get_index_mut2" class="fn">get_index_mut2</a>(
&amp;mut self,
index: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(&amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>)&gt;</h4></section></summary><div class="docblock"><p>Return mutable reference to key and value at an index.</p>
<p>Valid indices are <code>0 &lt;= index &lt; self.len()</code>.</p>
<p>Computes in <strong>O(1)</strong> time.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.iter_mut2" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#41">Source</a><h4 class="code-header">fn <a href="#tymethod.iter_mut2" class="fn">iter_mut2</a>(&amp;mut self) -&gt; <a class="struct" href="struct.IterMut2.html" title="struct indexmap::map::IterMut2">IterMut2</a>&lt;'_, Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>&gt; <a href="#" class="tooltip" data-notable-ty="IterMut2&lt;&#39;_, Self::Key, Self::Value&gt;"></a></h4></section></summary><div class="docblock"><p>Return an iterator over the key-value pairs of the map, in their order</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.retain2" class="method"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#50-52">Source</a><h4 class="code-header">fn <a href="#tymethod.retain2" class="fn">retain2</a>&lt;F&gt;(&amp;mut self, keep: F)<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Key" title="type indexmap::map::MutableKeys::Key">Key</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableKeys.html#associatedtype.Value" title="type indexmap::map::MutableKeys::Value">Value</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Scan through each key-value pair in the map and keep those where the
closure <code>keep</code> returns <code>true</code>.</p>
<p>The elements are visited in order, and remaining elements keep their
order.</p>
<p>Computes in <strong>O(n)</strong> time (average).</p>
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-MutableKeys-for-IndexMap%3CK,+V,+S%3E" class="impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#58-91">Source</a><a href="#impl-MutableKeys-for-IndexMap%3CK,+V,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;K, V, S&gt; <a class="trait" href="trait.MutableKeys.html" title="trait indexmap::map::MutableKeys">MutableKeys</a> for <a class="struct" href="struct.IndexMap.html" title="struct indexmap::map::IndexMap">IndexMap</a>&lt;K, V, S&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.BuildHasher.html" title="trait core::hash::BuildHasher">BuildHasher</a>,</div></h3><div class="docblock"><p>Opt-in mutable access to <a href="struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a> keys.</p>
</div></section></summary><div class="docblock"><p>See <a href="trait.MutableKeys.html" title="trait indexmap::map::MutableKeys"><code>MutableKeys</code></a> for more information.</p>
</div><div class="impl-items"><section id="associatedtype.Key-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#62">Source</a><a href="#associatedtype.Key-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Key" class="associatedtype">Key</a> = K</h4></section><section id="associatedtype.Value-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/indexmap/map/mutable.rs.html#63">Source</a><a href="#associatedtype.Value-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Value" class="associatedtype">Value</a> = V</h4></section></div></details></div><script src="../../trait.impl/indexmap/map/mutable/trait.MutableKeys.js" async></script><script type="text/json" id="notable-traits-data">{"IterMut2<'_, Self::Key, Self::Value>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.IterMut2.html\" title=\"struct indexmap::map::IterMut2\">IterMut2</a>&lt;'a, K, V&gt;</code></h3><pre><code><div class=\"where\">impl&lt;'a, K, V&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/1.93.1/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.IterMut2.html\" title=\"struct indexmap::map::IterMut2\">IterMut2</a>&lt;'a, K, V&gt;</div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.93.1/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = (<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.reference.html\">&amp;'a mut K</a>, <a class=\"primitive\" href=\"https://doc.rust-lang.org/1.93.1/std/primitive.reference.html\">&amp;'a mut V</a>);</div>"}</script></section></div></main></body></html>

View File

@@ -0,0 +1,3 @@
<!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="A hash set implemented using `IndexMap`"><title>indexmap::set - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module set</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module set</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#traits" title="Traits">Traits</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate indexmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">indexmap</a></div><h1>Module <span>set</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/indexmap/set.rs.html#1-1482">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A hash set implemented using <a href="../map/struct.IndexMap.html" title="struct indexmap::map::IndexMap"><code>IndexMap</code></a></p>
</div></details><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Difference.html" title="struct indexmap::set::Difference">Difference</a></dt><dd>A lazy iterator producing elements in the difference of <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>s.</dd><dt><a class="struct" href="struct.Drain.html" title="struct indexmap::set::Drain">Drain</a></dt><dd>A draining iterator over the items of an <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>.</dd><dt><a class="struct" href="struct.ExtractIf.html" title="struct indexmap::set::ExtractIf">Extract<wbr>If</a></dt><dd>An extracting iterator for <code>IndexSet</code>.</dd><dt><a class="struct" href="struct.IndexSet.html" title="struct indexmap::set::IndexSet">Index<wbr>Set</a></dt><dd>A hash set where the iteration order of the values is independent of their
hash values.</dd><dt><a class="struct" href="struct.Intersection.html" title="struct indexmap::set::Intersection">Intersection</a></dt><dd>A lazy iterator producing elements in the intersection of <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>s.</dd><dt><a class="struct" href="struct.IntoIter.html" title="struct indexmap::set::IntoIter">Into<wbr>Iter</a></dt><dd>An owning iterator over the items of an <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>.</dd><dt><a class="struct" href="struct.Iter.html" title="struct indexmap::set::Iter">Iter</a></dt><dd>An iterator over the items of an <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>.</dd><dt><a class="struct" href="struct.Slice.html" title="struct indexmap::set::Slice">Slice</a></dt><dd>A dynamically-sized slice of values in an <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>.</dd><dt><a class="struct" href="struct.Splice.html" title="struct indexmap::set::Splice">Splice</a></dt><dd>A splicing iterator for <code>IndexSet</code>.</dd><dt><a class="struct" href="struct.SymmetricDifference.html" title="struct indexmap::set::SymmetricDifference">Symmetric<wbr>Difference</a></dt><dd>A lazy iterator producing elements in the symmetric difference of <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>s.</dd><dt><a class="struct" href="struct.Union.html" title="struct indexmap::set::Union">Union</a></dt><dd>A lazy iterator producing elements in the union of <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a>s.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.MutableValues.html" title="trait indexmap::set::MutableValues">Mutable<wbr>Values</a></dt><dd>Opt-in mutable access to <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> values.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.Difference.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.Difference.html">../../../indexmap/set/struct.Difference.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.Difference.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.Drain.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.Drain.html">../../../indexmap/set/struct.Drain.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.Drain.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.ExtractIf.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.ExtractIf.html">../../../indexmap/set/struct.ExtractIf.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.ExtractIf.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.Intersection.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.Intersection.html">../../../indexmap/set/struct.Intersection.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.Intersection.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.IntoIter.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.IntoIter.html">../../../indexmap/set/struct.IntoIter.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.IntoIter.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.Iter.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.Iter.html">../../../indexmap/set/struct.Iter.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.Iter.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.Splice.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.Splice.html">../../../indexmap/set/struct.Splice.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.Splice.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.SymmetricDifference.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.SymmetricDifference.html">../../../indexmap/set/struct.SymmetricDifference.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.SymmetricDifference.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.Union.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.Union.html">../../../indexmap/set/struct.Union.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.Union.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/trait.MutableValues.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/trait.MutableValues.html">../../../indexmap/set/trait.MutableValues.html</a>...</p>
<script>location.replace("../../../indexmap/set/trait.MutableValues.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"struct":["Difference","Drain","ExtractIf","IndexSet","Intersection","IntoIter","Iter","Slice","Splice","SymmetricDifference","Union"],"trait":["MutableValues"]};

View File

@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../indexmap/set/struct.Slice.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../../indexmap/set/struct.Slice.html">../../../indexmap/set/struct.Slice.html</a>...</p>
<script>location.replace("../../../indexmap/set/struct.Slice.html" + location.search + location.hash);</script>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,37 @@
<!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="Opt-in mutable access to `IndexSet` values."><title>MutableValues in indexmap::set - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">MutableValues</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Mutable<wbr>Values</a></h2><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Value" title="Value">Value</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.get_full_mut2" title="get_full_mut2">get_full_mut2</a></li><li><a href="#tymethod.get_index_mut2" title="get_index_mut2">get_index_mut2</a></li><li><a href="#tymethod.retain2" title="retain2">retain2</a></li></ul><h3><a href="#dyn-compatibility">Dyn Compatibility</a></h3><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In indexmap::<wbr>set</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../index.html">indexmap</a>::<wbr><a href="index.html">set</a></div><h1>Trait <span class="trait">Mutable<wbr>Values</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../src/indexmap/set/mutable.rs.html#21-47">Source</a> </span></div><pre class="rust item-decl"><code>pub trait MutableValues: Sealed {
type <a href="#associatedtype.Value" class="associatedtype">Value</a>;
// Required methods
fn <a href="#tymethod.get_full_mut2" class="fn">get_full_mut2</a>&lt;Q&gt;(
&amp;mut self,
value: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Q</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>)&gt;
<span class="where">where Q: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="../trait.Equivalent.html" title="trait indexmap::Equivalent">Equivalent</a>&lt;Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>&gt;</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.get_index_mut2" class="fn">get_index_mut2</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;mut Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>&gt;;
<span class="item-spacer"></span> fn <a href="#tymethod.retain2" class="fn">retain2</a>&lt;F&gt;(&amp;mut self, keep: F)
<span class="where">where F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;mut Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></span>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Opt-in mutable access to <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> values.</p>
<p>These methods expose <code>&amp;mut T</code>, mutable references to the value as it is stored
in the set.
You are allowed to modify the values in the set <strong>if the modification
does not change the values hash and equality</strong>.</p>
<p>If values are modified erroneously, you can no longer look them up.
This is sound (memory safe) but a logical error hazard (just like
implementing <code>PartialEq</code>, <code>Eq</code>, or <code>Hash</code> incorrectly would be).</p>
<p><code>use</code> this trait to enable its methods for <code>IndexSet</code>.</p>
<p>This trait is sealed and cannot be implemented for types outside this crate.</p>
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><section id="associatedtype.Value" class="method"><a class="src rightside" href="../../src/indexmap/set/mutable.rs.html#22">Source</a><h4 class="code-header">type <a href="#associatedtype.Value" class="associatedtype">Value</a></h4></section></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.get_full_mut2" class="method"><a class="src rightside" href="../../src/indexmap/set/mutable.rs.html#27-29">Source</a><h4 class="code-header">fn <a href="#tymethod.get_full_mut2" class="fn">get_full_mut2</a>&lt;Q&gt;(&amp;mut self, value: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;Q</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;(<a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>, &amp;mut Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>)&gt;<div class="where">where
Q: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> + <a class="trait" href="../trait.Equivalent.html" title="trait indexmap::Equivalent">Equivalent</a>&lt;Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>&gt;,</div></h4></section></summary><div class="docblock"><p>Return item index and mutable reference to the value</p>
<p>Computes in <strong>O(1)</strong> time (average).</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.get_index_mut2" class="method"><a class="src rightside" href="../../src/indexmap/set/mutable.rs.html#36">Source</a><h4 class="code-header">fn <a href="#tymethod.get_index_mut2" class="fn">get_index_mut2</a>(&amp;mut self, index: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;mut Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>&gt;</h4></section></summary><div class="docblock"><p>Return mutable reference to the value at an index.</p>
<p>Valid indices are <code>0 &lt;= index &lt; self.len()</code>.</p>
<p>Computes in <strong>O(1)</strong> time.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.retain2" class="method"><a class="src rightside" href="../../src/indexmap/set/mutable.rs.html#44-46">Source</a><h4 class="code-header">fn <a href="#tymethod.retain2" class="fn">retain2</a>&lt;F&gt;(&amp;mut self, keep: F)<div class="where">where
F: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(&amp;mut Self::<a class="associatedtype" href="trait.MutableValues.html#associatedtype.Value" title="type indexmap::set::MutableValues::Value">Value</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>,</div></h4></section></summary><div class="docblock"><p>Scan through each value in the set and keep those where the
closure <code>keep</code> returns <code>true</code>.</p>
<p>The values are visited in order, and remaining values keep their order.</p>
<p>Computes in <strong>O(n)</strong> time (average).</p>
</div></details></div><h2 id="dyn-compatibility" class="section-header">Dyn Compatibility<a href="#dyn-compatibility" class="anchor">§</a></h2><div class="dyn-compatibility-info"><p>This trait is <b>not</b> <a href="https://doc.rust-lang.org/1.93.1/reference/items/traits.html#dyn-compatibility">dyn compatible</a>.</p><p><i>In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.</i></p></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-MutableValues-for-IndexSet%3CT,+S%3E" class="impl"><a class="src rightside" href="../../src/indexmap/set/mutable.rs.html#52-81">Source</a><a href="#impl-MutableValues-for-IndexSet%3CT,+S%3E" class="anchor">§</a><h3 class="code-header">impl&lt;T, S&gt; <a class="trait" href="trait.MutableValues.html" title="trait indexmap::set::MutableValues">MutableValues</a> for <a class="struct" href="struct.IndexSet.html" title="struct indexmap::set::IndexSet">IndexSet</a>&lt;T, S&gt;<div class="where">where
S: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/hash/trait.BuildHasher.html" title="trait core::hash::BuildHasher">BuildHasher</a>,</div></h3><div class="docblock"><p>Opt-in mutable access to <a href="struct.IndexSet.html" title="struct indexmap::set::IndexSet"><code>IndexSet</code></a> values.</p>
</div></section></summary><div class="docblock"><p>See <a href="trait.MutableValues.html" title="trait indexmap::set::MutableValues"><code>MutableValues</code></a> for more information.</p>
</div><div class="impl-items"><section id="associatedtype.Value-1" class="associatedtype trait-impl"><a class="src rightside" href="../../src/indexmap/set/mutable.rs.html#56">Source</a><a href="#associatedtype.Value-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Value" class="associatedtype">Value</a> = T</h4></section></div></details></div><script src="../../trait.impl/indexmap/set/mutable/trait.MutableValues.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["GetDisjointMutError"],"macro":["indexmap","indexmap_with_default","indexset","indexset_with_default"],"mod":["map","set"],"struct":["TryReserveError"],"trait":["Equivalent"]};

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,15 @@
<!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="Key equivalence trait."><title>Equivalent in indexmap - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-ca0dd0c4.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="indexmap" data-themes="" data-resource-suffix="" data-rustdoc-version="1.93.1 (01f6ddf75 2026-02-11) (Arch Linux rust 1:1.93.1-1)" data-channel="1.93.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-a3946164.js" data-settings-js="settings-c38705f0.js" ><script src="../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-a410ff4d.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Equivalent</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../indexmap/index.html">indexmap</a><span class="version">2.13.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Equivalent</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#contract" title="Contract">Contract</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.equivalent" title="equivalent">equivalent</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate indexmap</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">indexmap</a></div><h1>Trait <span class="trait">Equivalent</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/equivalent/lib.rs.html#77">Source</a> </span></div><pre class="rust item-decl"><code>pub trait Equivalent&lt;K&gt;<div class="where">where
K: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div>{
// Required method
fn <a href="#tymethod.equivalent" class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Key equivalence trait.</p>
<p>This trait allows hash table lookup to be customized. It has one blanket
implementation that uses the regular solution with <code>Borrow</code> and <code>Eq</code>, just
like <code>HashMap</code> does, so that you can pass <code>&amp;str</code> to lookup into a map with
<code>String</code> keys and so on.</p>
<h2 id="contract"><a class="doc-anchor" href="#contract">§</a>Contract</h2>
<p>The implementor <strong>must</strong> hash like <code>K</code>, if it is hashable.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.equivalent" class="method"><a class="src rightside" href="../src/equivalent/lib.rs.html#79">Source</a><h4 class="code-header">fn <a href="#tymethod.equivalent" class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-Equivalent%3CK%3E-for-Q" class="impl"><a class="src rightside" href="../src/equivalent/lib.rs.html#82-85">Source</a><a href="#impl-Equivalent%3CK%3E-for-Q" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; <a class="trait" href="trait.Equivalent.html" title="trait indexmap::Equivalent">Equivalent</a>&lt;K&gt; for Q<div class="where">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="https://doc.rust-lang.org/1.93.1/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.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></div><script src="../trait.impl/equivalent/trait.Equivalent.js" async></script></section></div></main></body></html>