<p>By placing arguments in a logical group, you can create easier requirement and
exclusion rules instead of having to list each argument individually, or when you want a rule
to apply “any but not all” arguments.</p>
<p>For instance, you can make an entire <code>ArgGroup</code> required. If <ahref="struct.ArgGroup.html#method.multiple"title="method clap::ArgGroup::multiple"><code>ArgGroup::multiple(true)</code></a> is
set, this means that at least one argument from that group must be present. If
<ahref="struct.ArgGroup.html#method.multiple"title="method clap::ArgGroup::multiple"><code>ArgGroup::multiple(false)</code></a> is set (the default), one and <em>only</em> one must be present.</p>
<p>You can also do things such as name an entire <code>ArgGroup</code> as a <ahref="struct.Arg.html#method.conflicts_with"title="method clap::Arg::conflicts_with">conflict</a> or <ahref="struct.Arg.html#method.requires"title="method clap::Arg::requires">requirement</a> for
another argument, meaning any of the arguments that belong to that group will cause a failure
if present, or must be present respectively.</p>
<p>Perhaps the most common use of <code>ArgGroup</code>s is to require one and <em>only</em> one argument to be
present out of a given set. Imagine that you had multiple arguments, and you want one of them
to be required, but making all of them required isn’t feasible because perhaps they conflict
with each other. For example, lets say that you were building an application where one could
set a given version number by supplying a string with an option argument, i.e.
<code>--set-ver v1.2.3</code>, you also wanted to support automatically using a previous version number
and simply incrementing one of the three numbers. So you create three flags <code>--major</code>,
<code>--minor</code>, and <code>--patch</code>. All of these arguments shouldn’t be used at one time but you want to
specify that <em>at least one</em> of them is used. For this, you can create a group.</p>
<p>Finally, you may use <code>ArgGroup</code>s to pull a value from a group of arguments when you don’t care
exactly which argument was actually used at runtime.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.arg"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#157">source</a><h4class="code-header">pub fn <ahref="#method.arg"class="fn">arg</a>(self, arg_id: impl <aclass="trait"href="builder/trait.IntoResettable.html"title="trait clap::builder::IntoResettable">IntoResettable</a><<aclass="struct"href="struct.Id.html"title="struct clap::Id">Id</a>>) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass="docblock"><p>Adds an <ahref="struct.Arg.html"title="struct clap::Arg">argument</a> to this group by name</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_args"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#211">source</a><h4class="code-header">pub fn <ahref="#method.get_args"class="fn">get_args</a>(&self) -> impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a><Item = &<aclass="struct"href="struct.Id.html"title="struct clap::Id">Id</a>></h4></section></summary><divclass="docblock"><p>Getters for all args. It will return a vector of <code>Id</code></p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.multiple"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#264">source</a><h4class="code-header">pub fn <ahref="#method.multiple"class="fn">multiple</a>(self, yes: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass="docblock"><p>Allows more than one of the <ahref="struct.Arg.html"title="struct clap::Arg"><code>Arg</code></a>s in this group to be used. (Default: <code>false</code>)</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_multiple"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#283">source</a><h4class="code-header">pub fn <ahref="#method.is_multiple"class="fn">is_multiple</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Return true if the group allows more than one of the arguments
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.required"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#327">source</a><h4class="code-header">pub fn <ahref="#method.required"class="fn">required</a>(self, yes: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a>) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass="docblock"><p>Require an argument from the group to be present when parsing.</p>
<p>This is unless conflicting with another argument. A required group will be displayed in
the usage string of the application in the format <code><arg|arg2|arg3></code>.</p>
<p><strong>NOTE:</strong> This setting only applies to the current <ahref="struct.Command.html"title="struct clap::Command"><code>Command</code></a> / <ahref="trait.Subcommand.html"title="trait clap::Subcommand"><code>Subcommand</code></a>s, and not
globally.</p>
<p><strong>NOTE:</strong> By default, <ahref="struct.ArgGroup.html#method.multiple"title="method clap::ArgGroup::multiple"><code>ArgGroup::multiple</code></a> is set to <code>false</code> which when combined with
<code>ArgGroup::required(true)</code> states, “One and <em>only one</em> arg must be used from this group.
Use of more than one arg is an error.” Vice setting <code>ArgGroup::multiple(true)</code> which
states, ’<em>At least</em> one arg from this group must be used. Using multiple is OK.“</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.requires"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#368">source</a><h4class="code-header">pub fn <ahref="#method.requires"class="fn">requires</a>(self, id: impl <aclass="trait"href="builder/trait.IntoResettable.html"title="trait clap::builder::IntoResettable">IntoResettable</a><<aclass="struct"href="struct.Id.html"title="struct clap::Id">Id</a>>) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass="docblock"><p>Specify an argument or group that must be present when this group is.</p>
<p>This is not to be confused with a <ahref="struct.ArgGroup.html#method.required"title="method clap::ArgGroup::required">required group</a>. Requirement rules function just like
<ahref="struct.Arg.html#method.requires"title="method clap::Arg::requires">argument requirement rules</a>, you can name other arguments or groups that must be present
when any one of the arguments from this group is used.</p>
<p><strong>NOTE:</strong> The name provided may be an argument or group name</p>
) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass="docblock"><p>Specify arguments or groups that must be present when this group is.</p>
<p>This is not to be confused with a <ahref="struct.ArgGroup.html#method.required"title="method clap::ArgGroup::required">required group</a>. Requirement rules function just like
<ahref="struct.Arg.html#method.requires_ifs"title="method clap::Arg::requires_ifs">argument requirement rules</a>, you can name other arguments or groups that must be present
when one of the arguments from this group is used.</p>
<p><strong>NOTE:</strong> The names provided may be an argument or group name</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.conflicts_with"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#457">source</a><h4class="code-header">pub fn <ahref="#method.conflicts_with"class="fn">conflicts_with</a>(self, id: impl <aclass="trait"href="builder/trait.IntoResettable.html"title="trait clap::builder::IntoResettable">IntoResettable</a><<aclass="struct"href="struct.Id.html"title="struct clap::Id">Id</a>>) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass="docblock"><p>Specify an argument or group that must <strong>not</strong> be present when this group is.</p>
<p>Exclusion (aka conflict) rules function just like <ahref="struct.Arg.html#method.conflicts_with"title="method clap::Arg::conflicts_with">argument exclusion rules</a>, you can name
other arguments or groups that must <em>not</em> be present when one of the arguments from this
group are used.</p>
<p><strong>NOTE:</strong> The name provided may be an argument, or group name</p>
) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass="docblock"><p>Specify arguments or groups that must <strong>not</strong> be present when this group is.</p>
<p>Exclusion rules function just like <ahref="struct.Arg.html#method.conflicts_with_all"title="method clap::Arg::conflicts_with_all">argument exclusion rules</a>, you can name other arguments
or groups that must <em>not</em> be present when one of the arguments from this group are used.</p>
<p><strong>NOTE:</strong> The names provided may be an argument, or group name</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-ArgGroup-1"class="impl"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#513">source</a><ahref="#impl-ArgGroup-1"class="anchor">§</a><h3class="code-header">impl <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section></summary><divclass="docblock"><h4id="reflection"><aclass="doc-anchor"href="#reflection">§</a>Reflection</h4></div><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_id"class="method"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#516">source</a><h4class="code-header">pub fn <ahref="#method.get_id"class="fn">get_id</a>(&self) ->&<aclass="struct"href="struct.Id.html"title="struct clap::Id">Id</a></h4></section></summary><divclass="docblock"><p>Get the name of the group</p>
</div></details></div></details></div><h2id="trait-implementations"class="section-header">Trait Implementations<ahref="#trait-implementations"class="anchor">§</a></h2><divid="trait-implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Clone-for-ArgGroup"class="impl"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#87">source</a><ahref="#impl-Clone-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone"class="method trait-impl"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#87">source</a><ahref="#method.clone"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#tymethod.clone"class="fn">clone</a>(&self) -><aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h4></section></summary><divclass='docblock'>Returns a copy of the value. <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone_from"class="method trait-impl"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="src"href="https://doc.rust-lang.org/1.80.0/src/core/clone.rs.html#169">source</a></span><ahref="#method.clone_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#method.clone_from"class="fn">clone_from</a>(&mut self, source: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&Self</a>)</h4></section></summary><divclass='docblock'>Performs copy-assignment from <code>source</code>. <ahref="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Debug-for-ArgGroup"class="impl"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#87">source</a><ahref="#impl-Debug-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.fmt"class="method trait-impl"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#87">source</a><ahref="#method.fmt"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt"class="fn">fmt</a>(&self, f: &mut <aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a><'_>) -><aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><<aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.unit.html">()</a>, <aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/fmt/struct.Error.html"title="struct core::fmt::Error">Error</a>></h4></section></summary><divclass='docblock'>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/1.80.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Default-for-ArgGroup"class="impl"><aclass="srcrightsi
by <code>==</code>.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.ne"class="method trait-impl"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="src"href="https://doc.rust-lang.org/1.80.0/src/core/cmp.rs.html#263">source</a></span><ahref="#method.ne"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/cmp/trait.PartialEq.html#method.ne"class="fn">ne</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&Rhs</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason.</div></details></div></details><sectionid="impl-Eq-for-ArgGroup"class="impl"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#87">source</a><ahref="#impl-Eq-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/cmp/trait.Eq.html"title="trait core::cmp::Eq">Eq</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section><sectionid="impl-StructuralPartialEq-for-ArgGroup"class="impl"><aclass="src rightside"href="../src/clap_builder/builder/arg_group.rs.html#87">source</a><ahref="#impl-StructuralPartialEq-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.StructuralPartialEq.html"title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section></div><h2id="synthetic-implementations"class="section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor">§</a></h2><divid="synthetic-implementations-list"><sectionid="impl-Freeze-for-ArgGroup"class="impl"><ahref="#impl-Freeze-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Freeze.html"title="trait core::marker::Freeze">Freeze</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section><sectionid="impl-RefUnwindSafe-for-ArgGroup"class="impl"><ahref="#impl-RefUnwindSafe-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.RefUnwindSafe.html"title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section><sectionid="impl-Send-for-ArgGroup"class="impl"><ahref="#impl-Send-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section><sectionid="impl-Sync-for-ArgGroup"class="impl"><ahref="#impl-Sync-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section><sectionid="impl-Unpin-for-ArgGroup"class="impl"><ahref="#impl-Unpin-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section><sectionid="impl-UnwindSafe-for-ArgGroup"class="impl"><ahref="#impl-UnwindSafe-for-ArgGroup"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/panic/unwind_safe/trait.UnwindSafe.html"title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <aclass="struct"href="struct.ArgGroup.html"title="struct clap::ArgGroup">ArgGroup</a></h3></section></div><h2id="blanket-implementations"class="section-header">Blanket Implementations<ahref="#blanket-implementations"class="anchor">§</a></h2><divid="blanket-implementations-list"><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Any-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/any.rs.html#140">source</a><ahref="#impl-Any-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"
T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/any.rs.html#141">source</a><ahref="#method.type_id"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id"class="fn">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.80.0/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></h4></section></summary><divclass='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/1.80.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Borrow%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#208">source</a><ahref="#impl-Borrow%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#210">source</a><ahref="#method.borrow"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow"class="fn">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&T</a></h4></section></summary><divclass='docblock'>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-BorrowMut%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#216">source</a><ahref="#impl-BorrowMut%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow_mut"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/borrow.rs.html#217">source</a><ahref="#method.borrow_mut"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fn">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&mut T</a></h4></section></summary><divclass='docblock'>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.80.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-From%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#765">source</a><ahref="#impl-From%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.from-1"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#768">source</a><ahref="#method.from-1"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html#tymethod.from"class="fn">from</a>(t: T) -> T</h4></section></summary><divclass="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Into%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#748-750">source</a><ahref="#impl-Into%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T<divclass="where">where
<code><ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-ToOwned-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/borrow.rs.html#83-85">source</a><ahref="#impl-ToOwned-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T<divclass="where">where
T: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Owned"class="associatedtype trait-impl"><ahref="#associatedtype.Owned"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned"class="associatedtype">Owned</a> = T</h4></section></summary><divclass='docblock'>The resulting type after obtaining ownership.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.to_owned"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/borrow.rs.html#88">source</a><ahref="#method.to_owned"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned"class="fn">to_owned</a>(&self) -> T</h4></section></summary><divclass='docblock'>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/alloc/borrow.rs.html#92">source</a><ahref="#method.clone_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#method.clone_into"class="fn">clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/1.80.0/std/primitive.reference.html">&mut T</a>)</h4></section></summary><divclass='docblock'>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/1.80.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryFrom%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#805-807">source</a><ahref="#impl-TryFrom%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#812">source</a><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryInto%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#790-792">source</a><ahref="#impl-TryInto%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-1"class="associatedtype trait-impl"><ahref="#associatedtype.Error-1"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.80.0/src/core/convert/mod.rs.html#797">source</a><ahref="#method.try_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryInto.html#tymethod.try_into"class="fn">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.80.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.80.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html>