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

View File

@@ -0,0 +1 @@
<!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="List of all items in this crate"><title>List of all items in this crate</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="either" 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="../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 sys"><!--[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="#">All</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h3><a href="#macros">Crate Items</a></h3><ul class="block"><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><li><a href="#functions" title="Functions">Functions</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>List of all items</h1><rustdoc-toolbar></rustdoc-toolbar></div><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.IterEither.html">IterEither</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.Either.html">Either</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="trait.IntoEither.html">IntoEither</a></li></ul><h3 id="macros">Macros</h3><ul class="all-items"><li><a href="macro.for_both.html">for_both</a></li><li><a href="macro.try_left.html">try_left</a></li><li><a href="macro.try_right.html">try_right</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="serde_untagged/fn.deserialize.html">serde_untagged::deserialize</a></li><li><a href="serde_untagged/fn.serialize.html">serde_untagged::serialize</a></li><li><a href="serde_untagged_optional/fn.deserialize.html">serde_untagged_optional::deserialize</a></li><li><a href="serde_untagged_optional/fn.serialize.html">serde_untagged_optional::serialize</a></li></ul></section></div></main></body></html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,18 @@
<!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="The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases."><title>either - 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="either" 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 either</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../either/index.html">either</a><span class="version">1.15.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="#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>either</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/either/lib.rs.html#1-1561">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The enum <a href="enum.Either.html"><code>Either</code></a> with variants <code>Left</code> and <code>Right</code> is a general purpose
sum type with two cases.</p>
<p><strong>Crate features:</strong></p>
<ul>
<li>
<p><code>"std"</code>
Enabled by default. Disable to make the library <code>#![no_std]</code>.</p>
</li>
<li>
<p><code>"serde"</code>
Disabled by default. Enable to <code>#[derive(Serialize, Deserialize)]</code> for <code>Either</code></p>
</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.Left"><code>pub use crate::Either::<a class="enum" href="enum.Either.html#variant.Left" title="enum either::Either">Left</a>;</code></dt><dt id="reexport.Right"><code>pub use crate::Either::<a class="enum" href="enum.Either.html#variant.Right" title="enum either::Either">Right</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="serde_untagged/index.html" title="mod either::serde_untagged">serde_<wbr>untagged</a></dt><dd>Untagged serialization/deserialization support for Either&lt;L, R&gt;.</dd><dt><a class="mod" href="serde_untagged_optional/index.html" title="mod either::serde_untagged_optional">serde_<wbr>untagged_<wbr>optional</a></dt><dd>Untagged serialization/deserialization support for Option&lt;Either&lt;L, R&gt;&gt;.</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.for_both.html" title="macro either::for_both">for_<wbr>both</a></dt><dd>Evaluate the provided expression for both <a href="enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Either::Left</code></a> and <a href="enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Either::Right</code></a>.</dd><dt><a class="macro" href="macro.try_left.html" title="macro either::try_left">try_<wbr>left</a></dt><dd>Macro for unwrapping the left side of an <a href="enum.Either.html" title="enum either::Either"><code>Either</code></a>, which fails early
with the opposite side. Can only be used in functions that return
<code>Either</code> because of the early return of <code>Right</code> that it provides.</dd><dt><a class="macro" href="macro.try_right.html" title="macro either::try_right">try_<wbr>right</a></dt><dd>Dual to <a href="macro.try_left.html" title="macro either::try_left"><code>try_left!</code></a>, see its documentation for more information.</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.IterEither.html" title="struct either::IterEither">Iter<wbr>Either</a></dt><dd>Iterator that maps left or right iterators to corresponding <code>Either</code>-wrapped items.</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.Either.html" title="enum either::Either">Either</a></dt><dd>The enum <code>Either</code> with variants <code>Left</code> and <code>Right</code> is a general purpose
sum type with two cases.</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.IntoEither.html" title="trait either::IntoEither">Into<wbr>Either</a></dt><dd>Provides methods for converting a type <code>Self</code> into either a <a href="enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Left</code></a> or <a href="enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Right</code></a>
variant of <a href="enum.Either.html" title="enum either::Either"><code>Either&lt;Self, Self&gt;</code></a>.</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=../../either/trait.IntoEither.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../either/trait.IntoEither.html">../../either/trait.IntoEither.html</a>...</p>
<script>location.replace("../../either/trait.IntoEither.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=../../either/struct.IterEither.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="../../either/struct.IterEither.html">../../either/struct.IterEither.html</a>...</p>
<script>location.replace("../../either/struct.IterEither.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.for_both.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.for_both.html">macro.for_both.html</a>...</p>
<script>location.replace("macro.for_both.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="Evaluate the provided expression for both `Either::Left` and `Either::Right`."><title>for_both in either - 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="either" 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="#">for_both</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">for_<wbr>both</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 either</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">either</a></div><h1>Macro <span class="macro">for_<wbr>both</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/either/lib.rs.html#81-88">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! for_both {
($value:expr, $pattern:pat =&gt; $result:expr) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Evaluate the provided expression for both <a href="enum.Either.html#variant.Left" title="variant either::Either::Left"><code>Either::Left</code></a> and <a href="enum.Either.html#variant.Right" title="variant either::Either::Right"><code>Either::Right</code></a>.</p>
<p>This macro is useful in cases where both sides of <a href="enum.Either.html" title="enum either::Either"><code>Either</code></a> can be interacted with
in the same way even though the dont share the same type.</p>
<p>Syntax: <code>either::for_both!(</code> <em>expression</em> <code>,</code> <em>pattern</em> <code>=&gt;</code> <em>expression</em> <code>)</code></p>
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>either::Either;
<span class="kw">fn </span>length(owned_or_borrowed: Either&lt;String, <span class="kw-2">&amp;</span><span class="lifetime">'static </span>str&gt;) -&gt; usize {
<span class="macro">either::for_both!</span>(owned_or_borrowed, s =&gt; s.len())
}
<span class="kw">fn </span>main() {
<span class="kw">let </span>borrowed = Either::Right(<span class="string">"Hello world!"</span>);
<span class="kw">let </span>owned = Either::Left(<span class="string">"Hello world!"</span>.to_owned());
<span class="macro">assert_eq!</span>(length(borrowed), <span class="number">12</span>);
<span class="macro">assert_eq!</span>(length(owned), <span class="number">12</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.try_left.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.try_left.html">macro.try_left.html</a>...</p>
<script>location.replace("macro.try_left.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,19 @@
<!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="Macro for unwrapping the left side of an `Either`, which fails early with the opposite side. Can only be used in functions that return `Either` because of the early return of `Right` that it provides."><title>try_left in either - 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="either" 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="#">try_left</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">try_<wbr>left</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 either</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">either</a></div><h1>Macro <span class="macro">try_<wbr>left</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/either/lib.rs.html#113-120">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! try_left {
($expr:expr) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Macro for unwrapping the left side of an <a href="enum.Either.html" title="enum either::Either"><code>Either</code></a>, which fails early
with the opposite side. Can only be used in functions that return
<code>Either</code> because of the early return of <code>Right</code> that it provides.</p>
<p>See also <a href="macro.try_right.html" title="macro either::try_right"><code>try_right!</code></a> for its dual, which applies the same just to the
right side.</p>
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>either::{Either, Left, Right};
<span class="kw">fn </span>twice(wrapper: Either&lt;u32, <span class="kw-2">&amp;</span>str&gt;) -&gt; Either&lt;u32, <span class="kw-2">&amp;</span>str&gt; {
<span class="kw">let </span>value = <span class="macro">either::try_left!</span>(wrapper);
Left(value * <span class="number">2</span>)
}
<span class="kw">fn </span>main() {
<span class="macro">assert_eq!</span>(twice(Left(<span class="number">2</span>)), Left(<span class="number">4</span>));
<span class="macro">assert_eq!</span>(twice(Right(<span class="string">"ups"</span>)), Right(<span class="string">"ups"</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.try_right.html">
<title>Redirection</title>
</head>
<body>
<p>Redirecting to <a href="macro.try_right.html">macro.try_right.html</a>...</p>
<script>location.replace("macro.try_right.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,4 @@
<!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="Dual to `try_left!`, see its documentation for more information."><title>try_right in either - 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="either" 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="#">try_right</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><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"><div class="rustdoc-breadcrumbs"><a href="index.html">either</a></div><h1>Macro <span class="macro">try_<wbr>right</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/either/lib.rs.html#124-131">Source</a> </span></div><pre class="rust item-decl"><code>macro_rules! try_right {
($expr:expr) =&gt; { ... };
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Dual to <a href="macro.try_left.html" title="macro either::try_left"><code>try_left!</code></a>, see its documentation for more information.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,6 @@
<!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="API documentation for the Rust `deserialize` fn in crate `either`."><title>deserialize in either::serde_untagged - 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="either" 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 fn"><!--[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="#">deserialize</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In either::<wbr>serde_<wbr>untagged</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">either</a>::<wbr><a href="index.html">serde_untagged</a></div><h1>Function <span class="fn">deserialize</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/either/serde_untagged.rs.html#58-69">Source</a> </span></div><pre class="rust item-decl"><code>pub fn deserialize&lt;'de, L, R, D&gt;(
deserializer: D,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="../enum.Either.html" title="enum either::Either">Either</a>&lt;L, R&gt;, D::<a class="associatedtype" href="../../serde_core/de/trait.Deserializer.html#associatedtype.Error" title="type serde_core::de::Deserializer::Error">Error</a>&gt;<div class="where">where
D: <a class="trait" href="../../serde_core/de/trait.Deserializer.html" title="trait serde_core::de::Deserializer">Deserializer</a>&lt;'de&gt;,
L: <a class="trait" href="../../serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a>&lt;'de&gt;,
R: <a class="trait" href="../../serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a>&lt;'de&gt;,</div></code></pre></section></div></main></body></html>

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="API documentation for the Rust `serialize` fn in crate `either`."><title>serialize in either::serde_untagged - 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="either" 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 fn"><!--[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="#">serialize</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In either::<wbr>serde_<wbr>untagged</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">either</a>::<wbr><a href="index.html">serde_untagged</a></div><h1>Function <span class="fn">serialize</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/either/serde_untagged.rs.html#45-56">Source</a> </span></div><pre class="rust item-decl"><code>pub fn serialize&lt;L, R, S&gt;(
this: &amp;<a class="enum" href="../enum.Either.html" title="enum either::Either">Either</a>&lt;L, R&gt;,
serializer: S,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;S::<a class="associatedtype" href="../../serde_core/ser/trait.Serializer.html#associatedtype.Ok" title="type serde_core::ser::Serializer::Ok">Ok</a>, S::<a class="associatedtype" href="../../serde_core/ser/trait.Serializer.html#associatedtype.Error" title="type serde_core::ser::Serializer::Error">Error</a>&gt;<div class="where">where
S: <a class="trait" href="../../serde_core/ser/trait.Serializer.html" title="trait serde_core::ser::Serializer">Serializer</a>,
L: <a class="trait" href="../../serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>,
R: <a class="trait" href="../../serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>,</div></code></pre></section></div></main></body></html>

View File

@@ -0,0 +1,28 @@
<!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="Untagged serialization/deserialization support for Either&#60;L, R&#62;."><title>either::serde_untagged - 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="either" 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 serde_untagged</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module serde_<wbr>untagged</a></h2><h3><a href="#functions">Module Items</a></h3><ul class="block"><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate either</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">either</a></div><h1>Module <span>serde_<wbr>untagged</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/either/serde_untagged.rs.html#1-69">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Untagged serialization/deserialization support for Either&lt;L, R&gt;.</p>
<p><code>Either</code> uses default, externally-tagged representation.
However, sometimes it is useful to support several alternative types.
For example, we may have a field which is generally Map&lt;String, i32&gt;
but in typical cases Vec<String> would suffice, too.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>either::Either;
<span class="kw">use </span>std::collections::HashMap;
<span class="attr">#[derive(serde::Serialize, serde::Deserialize, Debug)]
#[serde(transparent)]
</span><span class="kw">struct </span>IntOrString {
<span class="attr">#[serde(with = <span class="string">"either::serde_untagged"</span>)]
</span>inner: Either&lt;Vec&lt;String&gt;, HashMap&lt;String, i32&gt;&gt;
};
<span class="comment">// serialization
</span><span class="kw">let </span>data = IntOrString {
inner: Either::Left(<span class="macro">vec!</span>[<span class="string">"Hello"</span>.to_string()])
};
<span class="comment">// notice: no tags are emitted.
</span><span class="macro">assert_eq!</span>(serde_json::to_string(<span class="kw-2">&amp;</span>data)<span class="question-mark">?</span>, <span class="string">r#"["Hello"]"#</span>);
<span class="comment">// deserialization
</span><span class="kw">let </span>data: IntOrString = serde_json::from_str(
<span class="string">r#"{"a": 0, "b": 14}"#
</span>)<span class="question-mark">?</span>;
<span class="macro">println!</span>(<span class="string">"found {:?}"</span>, data);</code></pre></div></div></details><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.deserialize.html" title="fn either::serde_untagged::deserialize">deserialize</a></dt><dt><a class="fn" href="fn.serialize.html" title="fn either::serde_untagged::serialize">serialize</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"fn":["deserialize","serialize"]};

View File

@@ -0,0 +1,6 @@
<!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="API documentation for the Rust `deserialize` fn in crate `either`."><title>deserialize in either::serde_untagged_optional - 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="either" 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 fn"><!--[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="#">deserialize</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In either::<wbr>serde_<wbr>untagged_<wbr>optional</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">either</a>::<wbr><a href="index.html">serde_untagged_optional</a></div><h1>Function <span class="fn">deserialize</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/either/serde_untagged_optional.rs.html#62-74">Source</a> </span></div><pre class="rust item-decl"><code>pub fn deserialize&lt;'de, L, R, D&gt;(
deserializer: D,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<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="enum" href="../enum.Either.html" title="enum either::Either">Either</a>&lt;L, R&gt;&gt;, D::<a class="associatedtype" href="../../serde_core/de/trait.Deserializer.html#associatedtype.Error" title="type serde_core::de::Deserializer::Error">Error</a>&gt;<div class="where">where
D: <a class="trait" href="../../serde_core/de/trait.Deserializer.html" title="trait serde_core::de::Deserializer">Deserializer</a>&lt;'de&gt;,
L: <a class="trait" href="../../serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a>&lt;'de&gt;,
R: <a class="trait" href="../../serde_core/de/trait.Deserialize.html" title="trait serde_core::de::Deserialize">Deserialize</a>&lt;'de&gt;,</div></code></pre></section></div></main></body></html>

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="API documentation for the Rust `serialize` fn in crate `either`."><title>serialize in either::serde_untagged_optional - 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="either" 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 fn"><!--[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="#">serialize</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In either::<wbr>serde_<wbr>untagged_<wbr>optional</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">either</a>::<wbr><a href="index.html">serde_untagged_optional</a></div><h1>Function <span class="fn">serialize</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/either/serde_untagged_optional.rs.html#45-60">Source</a> </span></div><pre class="rust item-decl"><code>pub fn serialize&lt;L, R, S&gt;(
this: &amp;<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="enum" href="../enum.Either.html" title="enum either::Either">Either</a>&lt;L, R&gt;&gt;,
serializer: S,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;S::<a class="associatedtype" href="../../serde_core/ser/trait.Serializer.html#associatedtype.Ok" title="type serde_core::ser::Serializer::Ok">Ok</a>, S::<a class="associatedtype" href="../../serde_core/ser/trait.Serializer.html#associatedtype.Error" title="type serde_core::ser::Serializer::Error">Error</a>&gt;<div class="where">where
S: <a class="trait" href="../../serde_core/ser/trait.Serializer.html" title="trait serde_core::ser::Serializer">Serializer</a>,
L: <a class="trait" href="../../serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>,
R: <a class="trait" href="../../serde_core/ser/trait.Serialize.html" title="trait serde_core::ser::Serialize">Serialize</a>,</div></code></pre></section></div></main></body></html>

View File

@@ -0,0 +1,28 @@
<!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="Untagged serialization/deserialization support for Option&#60;Either&#60;L, R&#62;&#62;."><title>either::serde_untagged_optional - 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="either" 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 serde_untagged_optional</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../either/index.html">either</a><span class="version">1.15.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module serde_<wbr>untagged_<wbr>optional</a></h2><h3><a href="#functions">Module Items</a></h3><ul class="block"><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="../index.html">In crate either</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">either</a></div><h1>Module <span>serde_<wbr>untagged_<wbr>optional</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/either/serde_untagged_optional.rs.html#1-74">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Untagged serialization/deserialization support for Option&lt;Either&lt;L, R&gt;&gt;.</p>
<p><code>Either</code> uses default, externally-tagged representation.
However, sometimes it is useful to support several alternative types.
For example, we may have a field which is generally Map&lt;String, i32&gt;
but in typical cases Vec<String> would suffice, too.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>either::Either;
<span class="kw">use </span>std::collections::HashMap;
<span class="attr">#[derive(serde::Serialize, serde::Deserialize, Debug)]
#[serde(transparent)]
</span><span class="kw">struct </span>IntOrString {
<span class="attr">#[serde(with = <span class="string">"either::serde_untagged_optional"</span>)]
</span>inner: <span class="prelude-ty">Option</span>&lt;Either&lt;Vec&lt;String&gt;, HashMap&lt;String, i32&gt;&gt;&gt;
};
<span class="comment">// serialization
</span><span class="kw">let </span>data = IntOrString {
inner: <span class="prelude-val">Some</span>(Either::Left(<span class="macro">vec!</span>[<span class="string">"Hello"</span>.to_string()]))
};
<span class="comment">// notice: no tags are emitted.
</span><span class="macro">assert_eq!</span>(serde_json::to_string(<span class="kw-2">&amp;</span>data)<span class="question-mark">?</span>, <span class="string">r#"["Hello"]"#</span>);
<span class="comment">// deserialization
</span><span class="kw">let </span>data: IntOrString = serde_json::from_str(
<span class="string">r#"{"a": 0, "b": 14}"#
</span>)<span class="question-mark">?</span>;
<span class="macro">println!</span>(<span class="string">"found {:?}"</span>, data);</code></pre></div></div></details><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.deserialize.html" title="fn either::serde_untagged_optional::deserialize">deserialize</a></dt><dt><a class="fn" href="fn.serialize.html" title="fn either::serde_untagged_optional::serialize">serialize</a></dt></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"fn":["deserialize","serialize"]};

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"enum":["Either"],"macro":["for_both","try_left","try_right"],"mod":["serde_untagged","serde_untagged_optional"],"struct":["IterEither"],"trait":["IntoEither"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long