This repository has been archived on 2022-04-04. You can view files and clone it, but cannot push or open issues or pull requests.
ludum-dare-50/rustdoc/clap/struct.ArgGroup.html

262 lines
73 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Family of related arguments."><meta name="keywords" content="rust, rustlang, rust-lang, ArgGroup"><title>ArgGroup in clap - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../dark.css" disabled><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script src="../crates.js"></script><script defer src="../main.js"></script>
<noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">&#9776;</div><a class="sidebar-logo" href="../clap/index.html"><div class="logo-container"><img src="https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;clap-rs&#x2F;clap&#x2F;master&#x2F;assets&#x2F;clap.png" alt="logo"></div>
</a><h2 class="location">Struct ArgGroup</h2><div class="sidebar-elems"><div class="block items"><h3 class="sidebar-title"><a href="#implementations">Methods</a></h3><div class="sidebar-links"><a href="#method.arg">arg</a><a href="#method.args">args</a><a href="#method.conflicts_with">conflicts_with</a><a href="#method.conflicts_with_all">conflicts_with_all</a><a href="#method.id">id</a><a href="#method.multiple">multiple</a><a href="#method.name">name</a><a href="#method.new">new</a><a href="#method.required">required</a><a href="#method.requires">requires</a><a href="#method.requires_all">requires_all</a></div><h3 class="sidebar-title"><a href="#trait-implementations">Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a><a href="#impl-Eq">Eq</a><a href="#impl-From%3C%26%27_%20ArgGroup%3C%27help%3E%3E">From&lt;&amp;&#39;_ ArgGroup&lt;&#39;help&gt;&gt;</a><a href="#impl-PartialEq%3CArgGroup%3C%27help%3E%3E">PartialEq&lt;ArgGroup&lt;&#39;help&gt;&gt;</a><a href="#impl-StructuralEq">StructuralEq</a><a href="#impl-StructuralPartialEq">StructuralPartialEq</a></div><h3 class="sidebar-title"><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><h3 class="sidebar-title"><a href="#blanket-implementations">Blanket Implementations</a></h3><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-Equivalent%3CK%3E">Equivalent&lt;K&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><h2 class="location">Other items in<br><a href="index.html">clap</a></h2><div id="sidebar-vars" data-name="ArgGroup" data-ty="struct" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../clap/index.html"><img src="https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;clap-rs&#x2F;clap&#x2F;master&#x2F;assets&#x2F;clap.png" alt="logo"></a><nav class="sub"><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">Struct <a href="index.html">clap</a>::<wbr><a class="struct" href="#">ArgGroup</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span><a class="srclink" href="../src/clap/build/arg_group.rs.html#81-89" title="goto source code">[src]</a></span></h1><div class="docblock item-decl"><pre class="rust struct"><code>pub struct ArgGroup&lt;'help&gt; { /* fields omitted */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Family of related <a href="struct.Arg.html">arguments</a>.</p>
<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 <a href="struct.ArgGroup.html#method.multiple"><code>ArgGroup::multiple(true)</code></a> is
set, this means that at least one argument from that group must be present. If
<a href="struct.ArgGroup.html#method.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 <a href="struct.Arg.html#method.conflicts_with">conflict</a> or <a href="struct.Arg.html#method.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 isnt 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 shouldnt 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 dont care
exactly which argument was actually used at runtime.</p>
<h2 id="examples" class="section-header"><a href="#examples">Examples</a></h2>
<p>The following example demonstrates using an <code>ArgGroup</code> to ensure that one, and only one, of
the arguments from the specified group is present at runtime.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;cmd&quot;</span>)
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="string">&quot;set-ver&quot;</span> <span class="op">&lt;</span><span class="ident">ver</span><span class="op">&gt;</span> <span class="string">&quot;set the version manually&quot;</span>).<span class="ident">required</span>(<span class="bool-val">false</span>))
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="ident">major</span> <span class="string">&quot;auto increase major&quot;</span>))
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="ident">minor</span> <span class="string">&quot;auto increase minor&quot;</span>))
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="ident">patch</span> <span class="string">&quot;auto increase patch&quot;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;vers&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;set-ver&quot;</span>, <span class="string">&quot;major&quot;</span>, <span class="string">&quot;minor&quot;</span>, <span class="string">&quot;patch&quot;</span>])
.<span class="ident">required</span>(<span class="bool-val">true</span>))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;cmd&quot;</span>, <span class="string">&quot;--major&quot;</span>, <span class="string">&quot;--patch&quot;</span>]);
<span class="comment">// Because we used two args in the group it&#39;s an error</span>
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">err</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap_err</span>();
<span class="macro">assert_eq!</span>(<span class="ident">err</span>.<span class="ident">kind</span>(), <span class="ident">ErrorKind::ArgumentConflict</span>);</code></pre></div>
<p>This next example shows a passing parse of the same scenario</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;cmd&quot;</span>)
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="string">&quot;set-ver&quot;</span> <span class="op">&lt;</span><span class="ident">ver</span><span class="op">&gt;</span> <span class="string">&quot;set the version manually&quot;</span>).<span class="ident">required</span>(<span class="bool-val">false</span>))
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="ident">major</span> <span class="string">&quot;auto increase major&quot;</span>))
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="ident">minor</span> <span class="string">&quot;auto increase minor&quot;</span>))
.<span class="ident">arg</span>(<span class="macro">arg!</span>(<span class="op">-</span><span class="op">-</span><span class="ident">patch</span> <span class="string">&quot;auto increase patch&quot;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;vers&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;set-ver&quot;</span>, <span class="string">&quot;major&quot;</span>, <span class="string">&quot;minor&quot;</span>,<span class="string">&quot;patch&quot;</span>])
.<span class="ident">required</span>(<span class="bool-val">true</span>))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;cmd&quot;</span>, <span class="string">&quot;--major&quot;</span>]);
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_ok</span>());
<span class="kw">let</span> <span class="ident">matches</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap</span>();
<span class="comment">// We may not know which of the args was used, so we can test for the group...</span>
<span class="macro">assert!</span>(<span class="ident">matches</span>.<span class="ident">is_present</span>(<span class="string">&quot;vers&quot;</span>));
<span class="comment">// we could also alternatively check each arg individually (not shown here)</span></code></pre></div>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#91-452" title="goto source code">[src]</a></div><a href="#impl" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.new" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#111-113" title="goto source code">[src]</a></div><a href="#method.new" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.new" class="fnname">new</a>&lt;S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;&amp;'help <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>&gt;&gt;(n: S) -&gt; Self</h4></div></summary><div class="docblock"><p>Create a <code>ArgGroup</code> using a unique name.</p>
<p>The name will be used to get values from the group or refer to the group inside of conflict
and requirement rules.</p>
<h5 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="ident">ArgGroup::new</span>(<span class="string">&quot;config&quot;</span>)</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.id" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#125-129" title="goto source code">[src]</a></div><a href="#method.id" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.id" class="fnname">id</a>&lt;S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;&amp;'help <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>&gt;&gt;(self, n: S) -&gt; Self</h4></div></summary><div class="docblock"><p>Sets the group name.</p>
<h5 id="examples-2" class="section-header"><a href="#examples-2">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="ident">ArgGroup::default</span>().<span class="ident">name</span>(<span class="string">&quot;config&quot;</span>)</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.name" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#133-135" title="goto source code">[src]</a></div><a href="#method.name" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.name" class="fnname">name</a>&lt;S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;&amp;'help <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a>&gt;&gt;(self, n: S) -&gt; Self</h4></div><div class="item-info"><div class="stab deprecated"><span class="emoji">👎</span> Deprecated since 3.1.0: <p>Replaced with <code>ArgGroup::id</code></p>
</div></div></summary><div class="docblock"><p>Deprecated, replaced with <a href="struct.ArgGroup.html#method.id" title="ArgGroup::id"><code>ArgGroup::id</code></a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.arg" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#159-162" title="goto source code">[src]</a></div><a href="#method.arg" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.arg" class="fnname">arg</a>&lt;T:&nbsp;Key&gt;(self, arg_id: T) -&gt; Self</h4></div></summary><div class="docblock"><p>Adds an <a href="struct.Arg.html">argument</a> to this group by name</p>
<h5 id="examples-3" class="section-header"><a href="#examples-3">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">m</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">arg</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">arg</span>(<span class="string">&quot;color&quot;</span>))
.<span class="ident">get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-f&quot;</span>]);
<span class="comment">// maybe we don&#39;t know which of the two flags was used...</span>
<span class="macro">assert!</span>(<span class="ident">m</span>.<span class="ident">is_present</span>(<span class="string">&quot;req_flags&quot;</span>));
<span class="comment">// but we can also check individually if needed</span>
<span class="macro">assert!</span>(<span class="ident">m</span>.<span class="ident">is_present</span>(<span class="string">&quot;flag&quot;</span>));</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.args" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#185-190" title="goto source code">[src]</a></div><a href="#method.args" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.args" class="fnname">args</a>&lt;T:&nbsp;Key&gt;(self, ns: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&amp;[T]</a>) -&gt; Self</h4></div></summary><div class="docblock"><p>Adds multiple <a href="struct.Arg.html">arguments</a> to this group by name</p>
<h5 id="examples-4" class="section-header"><a href="#examples-4">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">m</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>]))
.<span class="ident">get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-f&quot;</span>]);
<span class="comment">// maybe we don&#39;t know which of the two flags was used...</span>
<span class="macro">assert!</span>(<span class="ident">m</span>.<span class="ident">is_present</span>(<span class="string">&quot;req_flags&quot;</span>));
<span class="comment">// but we can also check individually if needed</span>
<span class="macro">assert!</span>(<span class="ident">m</span>.<span class="ident">is_present</span>(<span class="string">&quot;flag&quot;</span>));</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.multiple" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#235-238" title="goto source code">[src]</a></div><a href="#method.multiple" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.multiple" class="fnname">multiple</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a>) -&gt; Self</h4></div></summary><div class="docblock"><p>Allows more than one of the <a href="struct.Arg.html"><code>Arg</code></a>s in this group to be used. (Default: <code>false</code>)</p>
<h5 id="examples-5" class="section-header"><a href="#examples-5">Examples</a></h5>
<p>Notice in this example we use <em>both</em> the <code>-f</code> and <code>-c</code> flags which are both part of the
group</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">m</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>])
.<span class="ident">multiple</span>(<span class="bool-val">true</span>))
.<span class="ident">get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-f&quot;</span>, <span class="string">&quot;-c&quot;</span>]);
<span class="comment">// maybe we don&#39;t know which of the two flags was used...</span>
<span class="macro">assert!</span>(<span class="ident">m</span>.<span class="ident">is_present</span>(<span class="string">&quot;req_flags&quot;</span>));</code></pre></div>
<p>In this next example, we show the default behavior (i.e. `multiple(false)) which will throw
an error if more than one of the args in the group was used.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>]))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-f&quot;</span>, <span class="string">&quot;-c&quot;</span>]);
<span class="comment">// Because we used both args in the group it&#39;s an error</span>
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">err</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap_err</span>();
<span class="macro">assert_eq!</span>(<span class="ident">err</span>.<span class="ident">kind</span>(), <span class="ident">ErrorKind::ArgumentConflict</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.required" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#277-280" title="goto source code">[src]</a></div><a href="#method.required" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.required" class="fnname">required</a>(self, yes: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a>) -&gt; Self</h4></div></summary><div class="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>&lt;arg|arg2|arg3&gt;</code>.</p>
<p><strong>NOTE:</strong> This setting only applies to the current <a href="type.Command.html"><code>Command</code></a> / <a href="trait.Subcommand.html"><code>Subcommand</code></a>s, and not
globally.</p>
<p><strong>NOTE:</strong> By default, <a href="struct.ArgGroup.html#method.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>
<h5 id="examples-6" class="section-header"><a href="#examples-6">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>])
.<span class="ident">required</span>(<span class="bool-val">true</span>))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>]);
<span class="comment">// Because we didn&#39;t use any of the args in the group, it&#39;s an error</span>
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">err</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap_err</span>();
<span class="macro">assert_eq!</span>(<span class="ident">err</span>.<span class="ident">kind</span>(), <span class="ident">ErrorKind::MissingRequiredArgument</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.requires" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#314-317" title="goto source code">[src]</a></div><a href="#method.requires" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.requires" class="fnname">requires</a>&lt;T:&nbsp;Key&gt;(self, id: T) -&gt; Self</h4></div></summary><div class="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 <a href="struct.ArgGroup.html#method.required">required group</a>. Requirement rules function just like
<a href="struct.Arg.html#method.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>
<h5 id="examples-7" class="section-header"><a href="#examples-7">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;debug&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;d&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>])
.<span class="ident">requires</span>(<span class="string">&quot;debug&quot;</span>))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-c&quot;</span>]);
<span class="comment">// because we used an arg from the group, and the group requires &quot;-d&quot; to be used, it&#39;s an</span>
<span class="comment">// error</span>
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">err</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap_err</span>();
<span class="macro">assert_eq!</span>(<span class="ident">err</span>.<span class="ident">kind</span>(), <span class="ident">ErrorKind::MissingRequiredArgument</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.requires_all" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#353-358" title="goto source code">[src]</a></div><a href="#method.requires_all" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.requires_all" class="fnname">requires_all</a>(self, ns: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&amp;[</a>&amp;'help <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">]</a>) -&gt; Self</h4></div></summary><div class="docblock"><p>Specify arguments or groups that must be present when this group is.</p>
<p>This is not to be confused with a <a href="struct.ArgGroup.html#method.required">required group</a>. Requirement rules function just like
<a href="struct.Arg.html#method.requires_all">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>
<h5 id="examples-8" class="section-header"><a href="#examples-8">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;debug&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;d&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;verb&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;v&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>])
.<span class="ident">requires_all</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;debug&quot;</span>, <span class="string">&quot;verb&quot;</span>]))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-c&quot;</span>, <span class="string">&quot;-d&quot;</span>]);
<span class="comment">// because we used an arg from the group, and the group requires &quot;-d&quot; and &quot;-v&quot; to be used,</span>
<span class="comment">// yet we only used &quot;-d&quot; it&#39;s an error</span>
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">err</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap_err</span>();
<span class="macro">assert_eq!</span>(<span class="ident">err</span>.<span class="ident">kind</span>(), <span class="ident">ErrorKind::MissingRequiredArgument</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.conflicts_with" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#390-393" title="goto source code">[src]</a></div><a href="#method.conflicts_with" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.conflicts_with" class="fnname">conflicts_with</a>&lt;T:&nbsp;Key&gt;(self, id: T) -&gt; Self</h4></div></summary><div class="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 <a href="struct.Arg.html#method.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>
<h5 id="examples-9" class="section-header"><a href="#examples-9">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;debug&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;d&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>])
.<span class="ident">conflicts_with</span>(<span class="string">&quot;debug&quot;</span>))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-c&quot;</span>, <span class="string">&quot;-d&quot;</span>]);
<span class="comment">// because we used an arg from the group, and the group conflicts with &quot;-d&quot;, it&#39;s an error</span>
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">err</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap_err</span>();
<span class="macro">assert_eq!</span>(<span class="ident">err</span>.<span class="ident">kind</span>(), <span class="ident">ErrorKind::ArgumentConflict</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.conflicts_with_all" class="method has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#428-433" title="goto source code">[src]</a></div><a href="#method.conflicts_with_all" class="anchor"></a><h4 class="code-header">pub fn <a href="#method.conflicts_with_all" class="fnname">conflicts_with_all</a>(self, ns: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">&amp;[</a>&amp;'help <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.slice.html">]</a>) -&gt; Self</h4></div></summary><div class="docblock"><p>Specify arguments or groups that must <strong>not</strong> be present when this group is.</p>
<p>Exclusion rules function just like <a href="struct.Arg.html#method.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>
<h5 id="examples-10" class="section-header"><a href="#examples-10">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let</span> <span class="ident">result</span> <span class="op">=</span> <span class="ident">Command::new</span>(<span class="string">&quot;myprog&quot;</span>)
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;flag&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;f&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;color&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;c&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;debug&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;d&#39;</span>))
.<span class="ident">arg</span>(<span class="ident">Arg::new</span>(<span class="string">&quot;verb&quot;</span>)
.<span class="ident">short</span>(<span class="string">&#39;v&#39;</span>))
.<span class="ident">group</span>(<span class="ident">ArgGroup::new</span>(<span class="string">&quot;req_flags&quot;</span>)
.<span class="ident">args</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;flag&quot;</span>, <span class="string">&quot;color&quot;</span>])
.<span class="ident">conflicts_with_all</span>(<span class="kw-2">&amp;</span>[<span class="string">&quot;debug&quot;</span>, <span class="string">&quot;verb&quot;</span>]))
.<span class="ident">try_get_matches_from</span>(<span class="macro">vec!</span>[<span class="string">&quot;myprog&quot;</span>, <span class="string">&quot;-c&quot;</span>, <span class="string">&quot;-v&quot;</span>]);
<span class="comment">// because we used an arg from the group, and the group conflicts with either &quot;-v&quot; or &quot;-d&quot;</span>
<span class="comment">// it&#39;s an error</span>
<span class="macro">assert!</span>(<span class="ident">result</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">err</span> <span class="op">=</span> <span class="ident">result</span>.<span class="ident">unwrap_err</span>();
<span class="macro">assert_eq!</span>(<span class="ident">err</span>.<span class="ident">kind</span>(), <span class="ident">ErrorKind::ArgumentConflict</span>);</code></pre></div>
</div></details></div></details><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Clone" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#612-624" title="goto source code">[src]</a></div><a href="#impl-Clone" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'_&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#613-623" title="goto source code">[src]</a></div><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#tymethod.clone" class="fnname">clone</a>(&amp;self) -&gt; Self</h4></div></summary><div class='docblock'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_from" class="method trait-impl has-srclink"><div class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/clone.rs.html#130" title="goto source code">[src]</a></div><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#method.clone_from" class="fnname">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>Self)</h4></div></summary><div class='docblock'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Debug" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#impl-Debug" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.fmt" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.59.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></div></summary><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.59.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Default" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#impl-Default" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.default" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#method.default" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/default/trait.Default.html#tymethod.default" class="fnname">default</a>() -&gt; <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h4></div></summary><div class='docblock'><p>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.59.0/core/default/trait.Default.html#tymethod.default">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3C%26%27_%20ArgGroup%3C%27help%3E%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#454-466" title="goto source code">[src]</a></div><a href="#impl-From%3C%26%27_%20ArgGroup%3C%27help%3E%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;&amp;'_ <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;&gt; for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#455-465" title="goto source code">[src]</a></div><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(g: &amp;<a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;) -&gt; Self</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-PartialEq%3CArgGroup%3C%27help%3E%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#impl-PartialEq%3CArgGroup%3C%27help%3E%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;&gt; for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.eq" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#method.eq" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fnname">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.ne" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#method.ne" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.PartialEq.html#method.ne" class="fnname">ne</a>(&amp;self, other: &amp;<a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>This method tests for <code>!=</code>.</p>
</div></details></div></details><div id="impl-Eq" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#impl-Eq" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div><div id="impl-StructuralEq" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#impl-StructuralEq" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div><div id="impl-StructuralPartialEq" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/clap/build/arg_group.rs.html#80" title="goto source code">[src]</a></div><a href="#impl-StructuralPartialEq" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><div id="impl-RefUnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div><div id="impl-Send" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div><div id="impl-Sync" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div><div id="impl-Unpin" class="impl has-srclink"><div class="rightside"></div><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div><div id="impl-UnwindSafe" class="impl has-srclink"><div class="rightside"></div><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl&lt;'help&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.ArgGroup.html" title="struct clap::ArgGroup">ArgGroup</a>&lt;'help&gt;</h3></div></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Any" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/any.rs.html#132-136" title="goto source code">[src]</a></div><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.type_id" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/any.rs.html#133" title="goto source code">[src]</a></div><a href="#method.type_id" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.59.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></div></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.59.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Borrow%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#209-214" title="goto source code">[src]</a></div><a href="#impl-Borrow%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#211" title="goto source code">[src]</a></div><a href="#method.borrow" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>T</h4></div></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-BorrowMut%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#218-222" title="goto source code">[src]</a></div><a href="#impl-BorrowMut%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.borrow_mut" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/borrow.rs.html#219" title="goto source code">[src]</a></div><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;mut </a>T</h4></div></summary><div class='docblock'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Equivalent%3CK%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="../src/indexmap/equivalent.rs.html#18-27" title="goto source code">[src]</a></div><a href="#impl-Equivalent%3CK%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;Q, K&gt; <a class="trait" href="../indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a>&lt;K&gt; for Q <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;Q: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;K: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.59.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.equivalent" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="../src/indexmap/equivalent.rs.html#24" title="goto source code">[src]</a></div><a href="#method.equivalent" class="anchor"></a><h4 class="code-header">pub fn <a href="../indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fnname">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;</a>K) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.bool.html">bool</a></h4></div></summary><div class='docblock'><p>Compare self to <code>key</code> and return <code>true</code> if they are equal.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-From%3CT%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#550-554" title="goto source code">[src]</a></div><a href="#impl-From%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.from-1" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#551" title="goto source code">[src]</a></div><a href="#method.from-1" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-Into%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#538-545" title="goto source code">[src]</a></div><a href="#impl-Into%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><div id="method.into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#542" title="goto source code">[src]</a></div><a href="#method.into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-ToOwned" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#84-96" title="goto source code">[src]</a></div><a href="#impl-ToOwned" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Owned" class="type trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></div></summary><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.to_owned" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#89" title="goto source code">[src]</a></div><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></div></summary><div class='docblock'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.clone_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/alloc/borrow.rs.html#93" title="goto source code">[src]</a></div><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fnname">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.59.0/std/primitive.reference.html">&amp;mut </a>T)</h4></div></summary><div class="item-info"><div class="stab unstable"><span class="emoji">🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</div></div><div class='docblock'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.59.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryFrom%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#588-597" title="goto source code">[src]</a></div><a href="#impl-TryFrom%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error-1" class="type trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_from" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#594" title="goto source code">[src]</a></div><a href="#method.try_from" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><div id="impl-TryInto%3CU%3E" class="impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#574-583" title="goto source code">[src]</a></div><a href="#impl-TryInto%3CU%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></h3></div></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><div id="associatedtype.Error" class="type trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></div></summary><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><div id="method.try_into" class="method trait-impl has-srclink"><div class="rightside"><a class="srclink" href="https://doc.rust-lang.org/1.59.0/src/core/convert/mod.rs.html#580" title="goto source code">[src]</a></div><a href="#method.try_into" class="anchor"></a><h4 class="code-header">pub fn <a href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.59.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.59.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></div></summary><div class='docblock'><p>Performs the conversion.</p>
</div></details></div></details></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="clap" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.59.0 (9d1b2106e 2022-02-23)" ></div>
</body></html>