174 lines
82 KiB
HTML
174 lines
82 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The `Yokeable<'a>` trait is implemented on the `'static` version of any zero-copy type; for example, `Cow<'static, T>` implements `Yokeable<'a>` (for all `'a`)."><title>Yokeable in yoke - 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="yoke" 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="#">Yokeable</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../yoke/index.html">yoke</a><span class="version">0.8.1</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Yokeable</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#safety" title="Safety">Safety</a></li><li><a href="#implementation-example" title="Implementation example">Implementation example</a></li></ul><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Output" title="Output">Output</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.make" title="make">make</a></li><li><a href="#tymethod.transform" title="transform">transform</a></li><li><a href="#tymethod.transform_mut" title="transform_mut">transform_mut</a></li><li><a href="#tymethod.transform_owned" title="transform_owned">transform_owned</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-Yokeable%3C'a%3E-for-%26T" title="&'static T">&'static T</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-()" title="()">()</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-(T1,+T2)" title="(T1, T2)">(T1, T2)</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-Option%3CT%3E" title="Option<T>">Option<T></a></li><li><a href="#impl-Yokeable%3C'a%3E-for-PhantomData%3CT%3E" title="PhantomData<T>">PhantomData<T></a></li><li><a href="#impl-Yokeable%3C'a%3E-for-%5BT;+N%5D" title="[T; N]">[T; N]</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-bool" title="bool">bool</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-char" title="char">char</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-i8" title="i8">i8</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-i16" title="i16">i16</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-i32" title="i32">i32</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-i64" title="i64">i64</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-i128" title="i128">i128</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-isize" title="isize">isize</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-u8" title="u8">u8</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-u16" title="u16">u16</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-u32" title="u32">u32</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-u64" title="u64">u64</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-u128" title="u128">u128</a></li><li><a href="#impl-Yokeable%3C'a%3E-for-usize" title="usize">usize</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 class="in-crate"><a href="index.html">In crate yoke</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">yoke</a></div><h1>Trait <span class="trait">Yokeable</span> <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/yoke/yokeable.rs.html#85-238">Source</a> </span></div><pre class="rust item-decl"><code>pub unsafe trait Yokeable<'a>: 'static {
|
||
type <a href="#associatedtype.Output" class="associatedtype">Output</a>: 'a;
|
||
|
||
// Required methods
|
||
fn <a href="#tymethod.transform" class="fn">transform</a>(&'a self) -> &'a Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>;
|
||
<span class="item-spacer"></span> fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>;
|
||
<span class="item-spacer"></span> unsafe fn <a href="#tymethod.make" class="fn">make</a>(from: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self;
|
||
<span class="item-spacer"></span> fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)
|
||
<span class="where">where F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>)</span>;
|
||
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <code>Yokeable<'a></code> trait is implemented on the <code>'static</code> version of any zero-copy type; for
|
||
example, <code>Cow<'static, T></code> implements <code>Yokeable<'a></code> (for all <code>'a</code>).</p>
|
||
<p>One can use
|
||
<code>Yokeable::Output</code> on this trait to obtain the “lifetime’d” value of the <code>Cow<'static, T></code>,
|
||
e.g. <code><Cow<'static, T> as Yokeable<'a>'>::Output</code> is <code>Cow<'a, T></code>.</p>
|
||
<p>A <a href="trait.Yokeable.html" title="trait yoke::Yokeable"><code>Yokeable</code></a> type is essentially one with a covariant lifetime parameter,
|
||
matched to the parameter in the trait definition. The trait allows one to cast
|
||
the covariant lifetime to and from <code>'static</code>.</p>
|
||
<p><strong>Most of the time, if you need to implement <a href="trait.Yokeable.html" title="trait yoke::Yokeable"><code>Yokeable</code></a>, you should be able to use the safe
|
||
<a href="derive.Yokeable.html" title="derive yoke::Yokeable"><code>#[derive(Yokeable)]</code></a> custom derive.</strong></p>
|
||
<p>While Rust does not yet have GAT syntax, for the purpose of this documentation
|
||
we shall refer to “<code>Self</code> with a lifetime <code>'a</code>” with the syntax <code>Self<'a></code>.
|
||
Self<‘static> is a stand-in for the HKT Self<’_>: lifetime -> type.</p>
|
||
<p>With this terminology, <a href="trait.Yokeable.html" title="trait yoke::Yokeable"><code>Yokeable</code></a> exposes ways to cast between <code>Self<'static></code> and <code>Self<'a></code> generically.
|
||
This is useful for turning covariant lifetimes to <em>dynamic</em> lifetimes, where <code>'static</code> is
|
||
used as a way to “erase” the lifetime.</p>
|
||
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
|
||
<p>This trait is safe to implement on types with a <em>covariant</em> lifetime parameter, i.e. one where
|
||
<a href="trait.Yokeable.html#tymethod.transform"><code>Self::transform()</code></a>’s body can simply be <code>{ self }</code>. This will occur when the lifetime
|
||
parameter is used within references, but not in the arguments of function pointers or in mutable
|
||
positions (either in <code>&mut</code> or via interior mutability)</p>
|
||
<p>This trait must be implemented on the <code>'static</code> version of such a type, e.g. one should
|
||
implement <code>Yokeable<'a></code> (for all <code>'a</code>) on <code>Cow<'static, T></code>.</p>
|
||
<p>This trait is also safe to implement on types that do not borrow memory.</p>
|
||
<p>There are further constraints on implementation safety on individual methods.</p>
|
||
<h2 id="implementation-example"><a class="doc-anchor" href="#implementation-example">§</a>Implementation example</h2>
|
||
<p>Implementing this trait manually is unsafe. Where possible, you should use the safe
|
||
<a href="derive.Yokeable.html" title="derive yoke::Yokeable"><code>#[derive(Yokeable)]</code></a> custom derive instead. We include an example
|
||
in case you have your own zero-copy abstractions you wish to make yokeable.</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">struct </span>Bar<<span class="lifetime">'a</span>> {
|
||
numbers: Cow<<span class="lifetime">'a</span>, [u8]>,
|
||
string: Cow<<span class="lifetime">'a</span>, str>,
|
||
owned: Vec<u8>,
|
||
}
|
||
|
||
<span class="kw">unsafe impl</span><<span class="lifetime">'a</span>> Yokeable<<span class="lifetime">'a</span>> <span class="kw">for </span>Bar<<span class="lifetime">'static</span>> {
|
||
<span class="kw">type </span>Output = Bar<<span class="lifetime">'a</span>>;
|
||
<span class="kw">fn </span>transform(<span class="kw-2">&</span><span class="lifetime">'a </span><span class="self">self</span>) -> <span class="kw-2">&</span><span class="lifetime">'a </span>Bar<<span class="lifetime">'a</span>> {
|
||
<span class="comment">// covariant lifetime cast, can be done safely
|
||
</span><span class="self">self
|
||
</span>}
|
||
|
||
<span class="kw">fn </span>transform_owned(<span class="self">self</span>) -> Bar<<span class="lifetime">'a</span>> {
|
||
<span class="comment">// covariant lifetime cast, can be done safely
|
||
</span><span class="self">self
|
||
</span>}
|
||
|
||
<span class="kw">unsafe fn </span>make(from: Bar<<span class="lifetime">'a</span>>) -> <span class="self">Self </span>{
|
||
<span class="kw">unsafe </span>{ mem::transmute(from) }
|
||
}
|
||
|
||
<span class="kw">fn </span>transform_mut<F>(<span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span><span class="self">self</span>, f: F)
|
||
<span class="kw">where
|
||
</span>F: <span class="lifetime">'static </span>+ FnOnce(<span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span><span class="self">Self</span>::Output),
|
||
{
|
||
<span class="kw">unsafe </span>{ f(mem::transmute::<<span class="kw-2">&mut </span><span class="self">Self</span>, <span class="kw-2">&mut </span><span class="self">Self</span>::Output>(<span class="self">self</span>)) }
|
||
}
|
||
}</code></pre></div></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"><details class="toggle" open><summary><section id="associatedtype.Output" class="method"><a class="src rightside" href="../src/yoke/yokeable.rs.html#87">Source</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a>: 'a</h4></section></summary><div class="docblock"><p>This type MUST be <code>Self</code> with the <code>'static</code> replaced with <code>'a</code>, i.e. <code>Self<'a></code></p>
|
||
</div></details></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.transform" class="method"><a class="src rightside" href="../src/yoke/yokeable.rs.html#96">Source</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&'a self) -> &'a Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section></summary><div class="docblock"><p>This method must cast <code>self</code> between <code>&'a Self<'static></code> and <code>&'a Self<'a></code>.</p>
|
||
<h5 id="implementation-safety"><a class="doc-anchor" href="#implementation-safety">§</a>Implementation safety</h5>
|
||
<p>If the invariants of <a href="trait.Yokeable.html" title="trait yoke::Yokeable"><code>Yokeable</code></a> are being satisfied, the body of this method
|
||
should simply be <code>{ self }</code>, though it’s acceptable to include additional assertions
|
||
if desired.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.transform_owned" class="method"><a class="src rightside" href="../src/yoke/yokeable.rs.html#105">Source</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section></summary><div class="docblock"><p>This method must cast <code>self</code> between <code>Self<'static></code> and <code>Self<'a></code>.</p>
|
||
<h5 id="implementation-safety-1"><a class="doc-anchor" href="#implementation-safety-1">§</a>Implementation safety</h5>
|
||
<p>If the invariants of <a href="trait.Yokeable.html" title="trait yoke::Yokeable"><code>Yokeable</code></a> are being satisfied, the body of this method
|
||
should simply be <code>{ self }</code>, though it’s acceptable to include additional assertions
|
||
if desired.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.make" class="method"><a class="src rightside" href="../src/yoke/yokeable.rs.html#117">Source</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(from: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section></summary><div class="docblock"><p>This method can be used to cast away <code>Self<'a></code>’s lifetime.</p>
|
||
<h5 id="safety-1"><a class="doc-anchor" href="#safety-1">§</a>Safety</h5>
|
||
<p>The returned value must be destroyed before the data <code>from</code> was borrowing from is.</p>
|
||
<h5 id="implementation-safety-2"><a class="doc-anchor" href="#implementation-safety-2">§</a>Implementation safety</h5>
|
||
<p>A safe implementation of this method must be equivalent to a transmute between
|
||
<code>Self<'a></code> and <code>Self<'static></code></p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.transform_mut" class="method"><a class="src rightside" href="../src/yoke/yokeable.rs.html#234-237">Source</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></summary><div class="docblock"><p>This method must cast <code>self</code> between <code>&'a mut Self<'static></code> and <code>&'a mut Self<'a></code>,
|
||
and pass it to <code>f</code>.</p>
|
||
<h5 id="implementation-safety-3"><a class="doc-anchor" href="#implementation-safety-3">§</a>Implementation safety</h5>
|
||
<p>A safe implementation of this method must be equivalent to a pointer cast/transmute between
|
||
<code>&mut Self<'a></code> and <code>&mut Self<'static></code> being passed to <code>f</code></p>
|
||
<h5 id="why-is-this-safe"><a class="doc-anchor" href="#why-is-this-safe">§</a>Why is this safe?</h5>
|
||
<p>Typically covariant lifetimes become invariant when hidden behind an <code>&mut</code>,
|
||
which is why the implementation of this method cannot just be <code>f(self)</code>.
|
||
The reason behind this is that while <em>reading</em> a covariant lifetime that has been cast to a shorter
|
||
one is always safe (this is roughly the definition of a covariant lifetime), writing
|
||
may not necessarily be safe since you could write a smaller reference to it. For example,
|
||
the following code is unsound because it manages to stuff a <code>'a</code> lifetime into a <code>Cow<'static></code></p>
|
||
|
||
<div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile">ⓘ</a><pre class="rust rust-example-rendered"><code><span class="kw">struct </span>Foo {
|
||
str: String,
|
||
cow: Cow<<span class="lifetime">'static</span>, str>,
|
||
}
|
||
|
||
<span class="kw">fn </span>unsound<<span class="lifetime">'a</span>>(foo: <span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span>Foo) {
|
||
<span class="kw">let </span>a: <span class="kw-2">&</span>str = <span class="kw-2">&</span>foo.str;
|
||
foo.cow.transform_mut(|cow| <span class="kw-2">*</span>cow = Cow::Borrowed(a));
|
||
}</code></pre></div>
|
||
<p>However, this code will not compile because <a href="trait.Yokeable.html#tymethod.transform_mut" title="method yoke::Yokeable::transform_mut"><code>Yokeable::transform_mut()</code></a> requires <code>F: 'static</code>.
|
||
This enforces that while <code>F</code> may mutate <code>Self<'a></code>, it can only mutate it in a way that does
|
||
not insert additional references. For example, <code>F</code> may call <code>to_owned()</code> on a <code>Cow</code> and mutate it,
|
||
but it cannot insert a new <em>borrowed</em> reference because it has nowhere to borrow <em>from</em> –
|
||
<code>f</code> does not contain any borrowed references, and while we give it <code>Self<'a></code> (which contains borrowed
|
||
data), that borrowed data is known to be valid</p>
|
||
<p>Note that the <code>for<'b></code> is also necessary, otherwise the following code would compile:</p>
|
||
|
||
<div class="example-wrap compile_fail"><a href="#" class="tooltip" title="This example deliberately fails to compile">ⓘ</a><pre class="rust rust-example-rendered"><code><span class="comment">// also safely implements Yokeable<'a>
|
||
</span><span class="kw">struct </span>Bar<<span class="lifetime">'a</span>> {
|
||
num: u8,
|
||
cow: Cow<<span class="lifetime">'a</span>, u8>,
|
||
}
|
||
|
||
<span class="kw">fn </span>unsound<<span class="lifetime">'a</span>>(bar: <span class="kw-2">&</span><span class="lifetime">'a </span><span class="kw-2">mut </span>Bar<<span class="lifetime">'static</span>>) {
|
||
bar.transform_mut(<span class="kw">move </span>|bar| bar.cow = Cow::Borrowed(<span class="kw-2">&</span>bar.num));
|
||
}</code></pre></div>
|
||
<p>which is unsound because <code>bar</code> could be moved later, and we do not want to be able to
|
||
self-insert references to it.</p>
|
||
<p>The <code>for<'b></code> enforces this by stopping the author of the closure from matching up the input
|
||
<code>&'b Self::Output</code> lifetime with <code>'a</code> and borrowing directly from it.</p>
|
||
<p>Thus the only types of mutations allowed are ones that move around already-borrowed data, or
|
||
introduce new owned data:</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">struct </span>Foo {
|
||
str: String,
|
||
cow: Cow<<span class="lifetime">'static</span>, str>,
|
||
}
|
||
|
||
<span class="kw">fn </span>sound(foo: <span class="kw-2">&mut </span>Foo) {
|
||
foo.cow.transform_mut(<span class="kw">move </span>|cow| cow.to_mut().push(<span class="string">'a'</span>));
|
||
}</code></pre></div>
|
||
<p>More formally, a reference to an object that <code>f</code> assigns to a reference
|
||
in Self<’a> could be obtained from:</p>
|
||
<ul>
|
||
<li>a local variable: the compiler rejects the assignment because ’a certainly
|
||
outlives local variables in f.</li>
|
||
<li>a field in its argument: because of the for<’b> bound, the call to <code>f</code>
|
||
must be valid for a particular ’b that is strictly shorter than ’a. Thus,
|
||
the compiler rejects the assignment.</li>
|
||
<li>a reference field in Self<’a>: this does not extend the set of
|
||
non-static lifetimes reachable from Self<’a>, so this is fine.</li>
|
||
<li>one of f’s captures: since F: ’static, the resulting reference must refer
|
||
to ’static data.</li>
|
||
<li>a static or thread_local variable: ditto.</li>
|
||
</ul>
|
||
</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="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-bool" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#63">Source</a><a href="#impl-Yokeable%3C'a%3E-for-bool" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#63">Source</a><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.bool.html">bool</a></h4></section><section id="method.transform" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#63">Source</a><a href="#method.transform" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#63">Source</a><a href="#method.transform_owned" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#63">Source</a><a href="#method.make" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#63">Source</a><a href="#method.transform_mut" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-char" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#62">Source</a><a href="#impl-Yokeable%3C'a%3E-for-char" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.char.html">char</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-2" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#62">Source</a><a href="#associatedtype.Output-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.char.html">char</a></h4></section><section id="method.transform-1" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#62">Source</a><a href="#method.transform-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-1" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#62">Source</a><a href="#method.transform_owned-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-1" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#62">Source</a><a href="#method.make-1" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-1" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#62">Source</a><a href="#method.transform_mut-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-i8" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#56">Source</a><a href="#impl-Yokeable%3C'a%3E-for-i8" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i8.html">i8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-3" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#56">Source</a><a href="#associatedtype.Output-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i8.html">i8</a></h4></section><section id="method.transform-2" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#56">Source</a><a href="#method.transform-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-2" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#56">Source</a><a href="#method.transform_owned-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-2" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#56">Source</a><a href="#method.make-2" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-2" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#56">Source</a><a href="#method.transform_mut-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-i16" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#57">Source</a><a href="#impl-Yokeable%3C'a%3E-for-i16" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i16.html">i16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-4" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#57">Source</a><a href="#associatedtype.Output-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i16.html">i16</a></h4></section><section id="method.transform-3" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#57">Source</a><a href="#method.transform-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-3" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#57">Source</a><a href="#method.transform_owned-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-3" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#57">Source</a><a href="#method.make-3" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-3" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#57">Source</a><a href="#method.transform_mut-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-i32" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#58">Source</a><a href="#impl-Yokeable%3C'a%3E-for-i32" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i32.html">i32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-5" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#58">Source</a><a href="#associatedtype.Output-5" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i32.html">i32</a></h4></section><section id="method.transform-4" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#58">Source</a><a href="#method.transform-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-4" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#58">Source</a><a href="#method.transform_owned-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-4" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#58">Source</a><a href="#method.make-4" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-4" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#58">Source</a><a href="#method.transform_mut-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-i64" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#59">Source</a><a href="#impl-Yokeable%3C'a%3E-for-i64" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i64.html">i64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-6" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#59">Source</a><a href="#associatedtype.Output-6" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i64.html">i64</a></h4></section><section id="method.transform-5" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#59">Source</a><a href="#method.transform-5" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-5" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#59">Source</a><a href="#method.transform_owned-5" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-5" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#59">Source</a><a href="#method.make-5" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-5" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#59">Source</a><a href="#method.transform_mut-5" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-i128" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#60">Source</a><a href="#impl-Yokeable%3C'a%3E-for-i128" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i128.html">i128</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-7" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#60">Source</a><a href="#associatedtype.Output-7" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.i128.html">i128</a></h4></section><section id="method.transform-6" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#60">Source</a><a href="#method.transform-6" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-6" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#60">Source</a><a href="#method.transform_owned-6" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-6" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#60">Source</a><a href="#method.make-6" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-6" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#60">Source</a><a href="#method.transform_mut-6" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-isize" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#61">Source</a><a href="#impl-Yokeable%3C'a%3E-for-isize" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.isize.html">isize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-8" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#61">Source</a><a href="#associatedtype.Output-8" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.isize.html">isize</a></h4></section><section id="method.transform-7" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#61">Source</a><a href="#method.transform-7" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-7" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#61">Source</a><a href="#method.transform_owned-7" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-7" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#61">Source</a><a href="#method.make-7" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-7" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#61">Source</a><a href="#method.transform_mut-7" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-u8" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#50">Source</a><a href="#impl-Yokeable%3C'a%3E-for-u8" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-9" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#50">Source</a><a href="#associatedtype.Output-9" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u8.html">u8</a></h4></section><section id="method.transform-8" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#50">Source</a><a href="#method.transform-8" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-8" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#50">Source</a><a href="#method.transform_owned-8" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-8" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#50">Source</a><a href="#method.make-8" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-8" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#50">Source</a><a href="#method.transform_mut-8" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-u16" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#51">Source</a><a href="#impl-Yokeable%3C'a%3E-for-u16" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u16.html">u16</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-10" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#51">Source</a><a href="#associatedtype.Output-10" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u16.html">u16</a></h4></section><section id="method.transform-9" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#51">Source</a><a href="#method.transform-9" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-9" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#51">Source</a><a href="#method.transform_owned-9" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-9" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#51">Source</a><a href="#method.make-9" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-9" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#51">Source</a><a href="#method.transform_mut-9" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-u32" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#52">Source</a><a href="#impl-Yokeable%3C'a%3E-for-u32" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u32.html">u32</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-11" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#52">Source</a><a href="#associatedtype.Output-11" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u32.html">u32</a></h4></section><section id="method.transform-10" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#52">Source</a><a href="#method.transform-10" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-10" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#52">Source</a><a href="#method.transform_owned-10" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-10" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#52">Source</a><a href="#method.make-10" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-10" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#52">Source</a><a href="#method.transform_mut-10" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-u64" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#53">Source</a><a href="#impl-Yokeable%3C'a%3E-for-u64" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u64.html">u64</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-12" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#53">Source</a><a href="#associatedtype.Output-12" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u64.html">u64</a></h4></section><section id="method.transform-11" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#53">Source</a><a href="#method.transform-11" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-11" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#53">Source</a><a href="#method.transform_owned-11" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-11" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#53">Source</a><a href="#method.make-11" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-11" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#53">Source</a><a href="#method.transform_mut-11" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-u128" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#54">Source</a><a href="#impl-Yokeable%3C'a%3E-for-u128" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u128.html">u128</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-13" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#54">Source</a><a href="#associatedtype.Output-13" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.u128.html">u128</a></h4></section><section id="method.transform-12" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#54">Source</a><a href="#method.transform-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-12" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#54">Source</a><a href="#method.transform_owned-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-12" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#54">Source</a><a href="#method.make-12" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-12" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#54">Source</a><a href="#method.transform_mut-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-()" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#49">Source</a><a href="#impl-Yokeable%3C'a%3E-for-()" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-14" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#49">Source</a><a href="#associatedtype.Output-14" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.unit.html">()</a></h4></section><section id="method.transform-13" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#49">Source</a><a href="#method.transform-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-13" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#49">Source</a><a href="#method.transform_owned-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-13" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#49">Source</a><a href="#method.make-13" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-13" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#49">Source</a><a href="#method.transform_mut-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-usize" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#55">Source</a><a href="#impl-Yokeable%3C'a%3E-for-usize" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-15" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#55">Source</a><a href="#associatedtype.Output-15" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a></h4></section><section id="method.transform-14" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#55">Source</a><a href="#method.transform-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&self) -> &Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-14" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#55">Source</a><a href="#method.transform_owned-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-14" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#55">Source</a><a href="#method.make-14" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(this: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-14" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#55">Source</a><a href="#method.transform_mut-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-(T1,+T2)" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#116-121">Source</a><a href="#impl-Yokeable%3C'a%3E-for-(T1,+T2)" class="anchor">§</a><h3 class="code-header">impl<'a, T1: 'static + for<'b> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'b>, T2: 'static + for<'b> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'b>> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.tuple.html">(T1, T2)</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-16" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#119">Source</a><a href="#associatedtype.Output-16" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = (<T1 as <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a>>::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>, <T2 as <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a>>::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>)</h4></section><section id="method.transform-15" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#120">Source</a><a href="#method.transform-15" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&'a self) -> &'a Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-15" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#120">Source</a><a href="#method.transform_owned-15" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-15" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#120">Source</a><a href="#method.make-15" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(from: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-15" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#120">Source</a><a href="#method.transform_mut-15" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-%26T" class="impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#282-310">Source</a><a href="#impl-Yokeable%3C'a%3E-for-%26T" class="anchor">§</a><h3 class="code-header">impl<'a, T: 'static + ?<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="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&'static T</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-17" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#283">Source</a><a href="#associatedtype.Output-17" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&'a T</a></h4></section><section id="method.transform-16" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#285-288">Source</a><a href="#method.transform-16" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&'a self) -> &'a <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&'a T</a></h4></section><section id="method.transform_owned-16" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#290-293">Source</a><a href="#method.transform_owned-16" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&'a T</a></h4></section><section id="method.make-16" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#295-299">Source</a><a href="#method.make-16" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(from: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.reference.html">&'a T</a>) -> Self</h4></section><section id="method.transform_mut-16" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#301-309">Source</a><a href="#method.transform_mut-16" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-Option%3CT%3E" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#109-112">Source</a><a href="#impl-Yokeable%3C'a%3E-for-Option%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: 'static + for<'b> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'b>> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-18" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#110">Source</a><a href="#associatedtype.Output-18" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="enum" href="https://doc.rust-lang.org/1.93.1/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<T as <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a>>::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>></h4></section><section id="method.transform-17" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#111">Source</a><a href="#method.transform-17" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&'a self) -> &'a Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-17" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#111">Source</a><a href="#method.transform_owned-17" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-17" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#111">Source</a><a href="#method.make-17" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(from: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-17" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#111">Source</a><a href="#method.transform_mut-17" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-%5BT;+N%5D" class="impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#125-128">Source</a><a href="#impl-Yokeable%3C'a%3E-for-%5BT;+N%5D" class="anchor">§</a><h3 class="code-header">impl<'a, T: 'static + for<'b> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'b>, const N: <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.usize.html">usize</a>> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.array.html">[T; N]</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-19" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#126">Source</a><a href="#associatedtype.Output-19" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = [<T as <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a>>::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>; <a class="primitive" href="https://doc.rust-lang.org/1.93.1/std/primitive.array.html">N</a>]</h4></section><section id="method.transform-18" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#127">Source</a><a href="#method.transform-18" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&'a self) -> &'a Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-18" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#127">Source</a><a href="#method.transform_owned-18" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-18" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#127">Source</a><a href="#method.make-18" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(from: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-18" class="method trait-impl"><a class="src rightside" href="../src/yoke/macro_impls.rs.html#127">Source</a><a href="#method.transform_mut-18" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Yokeable%3C'a%3E-for-PhantomData%3CT%3E" class="impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#338-360">Source</a><a href="#impl-Yokeable%3C'a%3E-for-PhantomData%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<'a, T: ?<a class="trait" href="https://doc.rust-lang.org/1.93.1/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'static> <a class="trait" href="trait.Yokeable.html" title="trait yoke::Yokeable">Yokeable</a><'a> for <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Output-20" class="associatedtype trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#339">Source</a><a href="#associatedtype.Output-20" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="https://doc.rust-lang.org/1.93.1/core/marker/struct.PhantomData.html" title="struct core::marker::PhantomData">PhantomData</a><T></h4></section><section id="method.transform-19" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#341-343">Source</a><a href="#method.transform-19" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform" class="fn">transform</a>(&'a self) -> &'a Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.transform_owned-19" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#345-347">Source</a><a href="#method.transform_owned-19" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_owned" class="fn">transform_owned</a>(self) -> Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a></h4></section><section id="method.make-19" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#349-351">Source</a><a href="#method.make-19" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="#tymethod.make" class="fn">make</a>(from: Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>) -> Self</h4></section><section id="method.transform_mut-19" class="method trait-impl"><a class="src rightside" href="../src/yoke/yokeable.rs.html#353-359">Source</a><a href="#method.transform_mut-19" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.transform_mut" class="fn">transform_mut</a><F>(&'a mut self, f: F)<div class="where">where
|
||
F: 'static + for<'b> <a class="trait" href="https://doc.rust-lang.org/1.93.1/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&'b mut Self::<a class="associatedtype" href="trait.Yokeable.html#associatedtype.Output" title="type yoke::Yokeable::Output">Output</a>),</div></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"></div><script src="../trait.impl/yoke/yokeable/trait.Yokeable.js" data-ignore-extern-crates="std,core" async></script></section></div></main></body></html> |