Files
mercator_service/nom/lib/std/ops/trait.Drop.html

173 lines
51 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="API documentation for the Rust `Drop` trait in crate `nom`."><meta name="keywords" content="rust, rustlang, rust-lang, Drop"><title>nom::lib::std::ops::Drop - Rust</title><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="../../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><script src="../../../../storage.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="shortcut icon" href="../../../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../../../down-arrow.svg");}</style></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><a href='../../../../nom/index.html'><div class='logo-container'><img src='../../../../rust-logo.png' alt='logo'></div></a><p class='location'>Trait Drop</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.drop">drop</a></div><a class="sidebar-title" href="#foreign-impls">Implementations on Foreign Types</a><div class="sidebar-links"><a href="#impl-Drop-for-Arc%3CT%3E">Arc&lt;T&gt;</a><a href="#impl-Drop-for-BacktraceFrameFmt%3C%27_%2C%20%27_%2C%20%27_%3E">BacktraceFrameFmt&lt;&#39;_, &#39;_, &#39;_&gt;</a><a href="#impl-Drop-for-BufWriter%3CW%3E">BufWriter&lt;W&gt;</a><a href="#impl-Drop-for-CString">CString</a><a href="#impl-Drop-for-Condvar">Condvar</a><a href="#impl-Drop-for-IntoIter%3CT%2C%20N%3E">IntoIter&lt;T, N&gt;</a><a href="#impl-Drop-for-Mutex%3CT%3E">Mutex&lt;T&gt;</a><a href="#impl-Drop-for-MutexGuard%3C%27_%2C%20T%3E">MutexGuard&lt;&#39;_, T&gt;</a><a href="#impl-Drop-for-Rc%3CT%3E">Rc&lt;T&gt;</a><a href="#impl-Drop-for-Receiver%3CT%3E">Receiver&lt;T&gt;</a><a href="#impl-Drop-for-RwLock%3CT%3E">RwLock&lt;T&gt;</a><a href="#impl-Drop-for-RwLockReadGuard%3C%27_%2C%20T%3E">RwLockReadGuard&lt;&#39;_, T&gt;</a><a href="#impl-Drop-for-RwLockWriteGuard%3C%27_%2C%20T%3E">RwLockWriteGuard&lt;&#39;_, T&gt;</a><a href="#impl-Drop-for-Sender%3CT%3E">Sender&lt;T&gt;</a><a href="#impl-Drop-for-SyncSender%3CT%3E">SyncSender&lt;T&gt;</a><a href="#impl-Drop-for-VaListImpl%3C%27f%3E">VaListImpl&lt;&#39;f&gt;</a><a href="#impl-Drop-for-Waker">Waker</a><a href="#impl-Drop-for-Weak%3CT%3E">Weak&lt;T&gt;</a><a href="#impl-Drop-for-Weak%3CT%3E">Weak&lt;T&gt;</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='../../../index.html'>nom</a>::<wbr><a href='../../index.html'>lib</a>::<wbr><a href='../index.html'>std</a>::<wbr><a href='index.html'>ops</a></p><script>window.sidebarCurrent = {name: 'Drop', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../../theme.js"></script><nav class="sub"><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" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../../../../settings.html"><img src="../../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><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='https://doc.rust-lang.org/nightly/src/core/ops/drop.rs.html#85-113' title='goto source code'>[src]</a></span><span class='in-band'>Trait <a href='../../../index.html'>nom</a>::<wbr><a href='../../index.html'>lib</a>::<wbr><a href='../index.html'>std</a>::<wbr><a href='index.html'>ops</a>::<wbr><a class="trait" href=''>Drop</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust trait'><span class="docblock attributes top-attr">#[lang = "drop"]
</span>pub trait Drop {
fn <a href='#tymethod.drop' class='fnname'>drop</a>(&amp;mut self);
}</pre></div><div class='docblock'><p>Used to run some code when a value goes out of scope.
This is sometimes called a 'destructor'.</p>
<p>When a value goes out of scope, it will have its <code>drop</code> method called if
its type implements <code>Drop</code>. Then, any fields the value contains will also
be dropped recursively.</p>
<p>Because of this recursive dropping, you do not need to implement this trait
unless your type needs its own destructor logic.</p>
<p>Refer to <a href="../../book/ch15-03-drop.html">the chapter on <code>Drop</code> in <em>The Rust Programming Language</em></a>
for some more elaboration.</p>
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1><h2 id="implementing-drop" class="section-header"><a href="#implementing-drop">Implementing <code>Drop</code></a></h2>
<p>The <code>drop</code> method is called when <code>_x</code> goes out of scope, and therefore
<code>main</code> prints <code>Dropping!</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">struct</span> <span class="ident">HasDrop</span>;
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">HasDrop</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;Dropping!&quot;</span>);
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">_x</span> <span class="op">=</span> <span class="ident">HasDrop</span>;
}</pre></div>
<h2 id="dropping-is-done-recursively" class="section-header"><a href="#dropping-is-done-recursively">Dropping is done recursively</a></h2>
<p>When <code>outer</code> goes out of scope, the <code>drop</code> method will be called first for
<code>Outer</code>, then for <code>Inner</code>. Therefore, <code>main</code> prints <code>Dropping Outer!</code> and
then <code>Dropping Inner!</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">struct</span> <span class="ident">Inner</span>;
<span class="kw">struct</span> <span class="ident">Outer</span>(<span class="ident">Inner</span>);
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">Inner</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;Dropping Inner!&quot;</span>);
}
}
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">Outer</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;Dropping Outer!&quot;</span>);
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">_x</span> <span class="op">=</span> <span class="ident">Outer</span>(<span class="ident">Inner</span>);
}</pre></div>
<h2 id="variables-are-dropped-in-reverse-order-of-declaration" class="section-header"><a href="#variables-are-dropped-in-reverse-order-of-declaration">Variables are dropped in reverse order of declaration</a></h2>
<p><code>_first</code> is declared first and <code>_second</code> is declared second, so <code>main</code> will
print <code>Declared second!</code> and then <code>Declared first!</code>.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">struct</span> <span class="ident">PrintOnDrop</span>(<span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span>);
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">PrintOnDrop</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;{}&quot;</span>, <span class="self">self</span>.<span class="number">0</span>);
}
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">_first</span> <span class="op">=</span> <span class="ident">PrintOnDrop</span>(<span class="string">&quot;Declared first!&quot;</span>);
<span class="kw">let</span> <span class="ident">_second</span> <span class="op">=</span> <span class="ident">PrintOnDrop</span>(<span class="string">&quot;Declared second!&quot;</span>);
}</pre></div>
</div>
<h2 id='required-methods' class='small-section-header'>Required methods<a href='#required-methods' class='anchor'></a></h2><div class='methods'><h3 id='tymethod.drop' class='method'><code id='drop.v'>fn <a href='#tymethod.drop' class='fnname'>drop</a>(&amp;mut self)</code></h3><div class='docblock'><p>Executes the destructor for this type.</p>
<p>This method is called implicitly when the value goes out of scope,
and cannot be called explicitly (this is compiler error <a href="../../error-index.html#E0040">E0040</a>).
However, the <a href="../../std/mem/fn.drop.html"><code>std::mem::drop</code></a> function in the prelude can be
used to call the argument's <code>Drop</code> implementation.</p>
<p>When this method has been called, <code>self</code> has not yet been deallocated.
That only happens after the method is over.
If this wasn't the case, <code>self</code> would be a dangling reference.</p>
<h1 id="panics" class="section-header"><a href="#panics">Panics</a></h1>
<p>Given that a <a href="../macro.panic.html"><code>panic!</code></a> will call <code>drop</code> as it unwinds, any <a href="../macro.panic.html"><code>panic!</code></a>
in a <code>drop</code> implementation will likely abort.</p>
<p>Note that even if this panics, the value is considered to be dropped;
you must not cause <code>drop</code> to be called again. This is normally automatically
handled by the compiler, but when using unsafe code, can sometimes occur
unintentionally, particularly when using <a href="../../std/ptr/fn.drop_in_place.html"><code>std::ptr::drop_in_place</code></a>.</p>
</div></div><span class='loading-content'>Loading content...</span>
<h2 id='foreign-impls' class='small-section-header'>Implementations on Foreign Types<a href='#foreign-impls' class='anchor'></a></h2><h3 id='impl-Drop-for-Sender%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html" title="struct std::sync::mpsc::Sender">Sender</a>&lt;T&gt;</code><a href='#impl-Drop-for-Sender%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mpsc/mod.rs.html#893-902' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop' class="method hidden"><code id='drop.v-1'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mpsc/mod.rs.html#894-901' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-SyncSender%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.SyncSender.html" title="struct std::sync::mpsc::SyncSender">SyncSender</a>&lt;T&gt;</code><a href='#impl-Drop-for-SyncSender%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mpsc/mod.rs.html#1028-1032' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-1' class="method hidden"><code id='drop.v-2'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mpsc/mod.rs.html#1029-1031' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-BufWriter%3CW%3E' class='impl'><code class='in-band'>impl&lt;W&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/io/buffered/struct.BufWriter.html" title="struct std::io::buffered::BufWriter">BufWriter</a>&lt;W&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,&nbsp;</span></code><a href='#impl-Drop-for-BufWriter%3CW%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/io/buffered.rs.html#712-719' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-2' class="method hidden"><code id='drop.v-3'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/io/buffered.rs.html#713-718' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-RwLockReadGuard%3C%27_%2C%20T%3E' class='impl'><code class='in-band'>impl&lt;'_, T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/rwlock/struct.RwLockReadGuard.html" title="struct std::sync::rwlock::RwLockReadGuard">RwLockReadGuard</a>&lt;'_, T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-RwLockReadGuard%3C%27_%2C%20T%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/rwlock.rs.html#532-538' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-3' class="method hidden"><code id='drop.v-4'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/rwlock.rs.html#533-537' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-Receiver%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Receiver.html" title="struct std::sync::mpsc::Receiver">Receiver</a>&lt;T&gt;</code><a href='#impl-Drop-for-Receiver%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mpsc/mod.rs.html#1519-1528' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-4' class="method hidden"><code id='drop.v-5'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mpsc/mod.rs.html#1520-1527' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-CString' class='impl'><code class='in-band'>impl <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/ffi/c_str/struct.CString.html" title="struct std::ffi::c_str::CString">CString</a></code><a href='#impl-Drop-for-CString' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/ffi/c_str.rs.html#641-648' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-5' class="method hidden"><code id='drop.v-6'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/ffi/c_str.rs.html#643-647' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-RwLock%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/rwlock/struct.RwLock.html" title="struct std::sync::rwlock::RwLock">RwLock</a>&lt;T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-RwLock%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/rwlock.rs.html#418-423' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-6' class="method hidden"><code id='drop.v-7'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/rwlock.rs.html#419-422' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-RwLockWriteGuard%3C%27_%2C%20T%3E' class='impl'><code class='in-band'>impl&lt;'_, T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/rwlock/struct.RwLockWriteGuard.html" title="struct std::sync::rwlock::RwLockWriteGuard">RwLockWriteGuard</a>&lt;'_, T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-RwLockWriteGuard%3C%27_%2C%20T%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/rwlock.rs.html#541-548' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-7' class="method hidden"><code id='drop.v-8'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/rwlock.rs.html#542-547' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-Mutex%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mutex/struct.Mutex.html" title="struct std::sync::mutex::Mutex">Mutex</a>&lt;T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-Mutex%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mutex.rs.html#365-374' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-8' class="method hidden"><code id='drop.v-9'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mutex.rs.html#366-373' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-MutexGuard%3C%27_%2C%20T%3E' class='impl'><code class='in-band'>impl&lt;'_, T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/mutex/struct.MutexGuard.html" title="struct std::sync::mutex::MutexGuard">MutexGuard</a>&lt;'_, T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-MutexGuard%3C%27_%2C%20T%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mutex.rs.html#440-448' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-9' class="method hidden"><code id='drop.v-10'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/mutex.rs.html#442-447' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-Condvar' class='impl'><code class='in-band'>impl <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/std/sync/condvar/struct.Condvar.html" title="struct std::sync::condvar::Condvar">Condvar</a></code><a href='#impl-Drop-for-Condvar' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/condvar.rs.html#599-603' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-10' class="method hidden"><code id='drop.v-11'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/std/sync/condvar.rs.html#600-602' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-IntoIter%3CT%2C%20N%3E' class='impl'><code class='in-band'>impl&lt;const N:&nbsp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/array/iter/struct.IntoIter.html" title="struct core::array::iter::IntoIter">IntoIter</a>&lt;T, N&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">[</a>T<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.array.html">; N]</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/array/trait.LengthAtMost32.html" title="trait core::array::LengthAtMost32">LengthAtMost32</a>,&nbsp;</span></code><a href='#impl-Drop-for-IntoIter%3CT%2C%20N%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/array/iter.rs.html#185-195' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-11' class="method hidden"><code id='drop.v-12'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/array/iter.rs.html#189-194' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-VaListImpl%3C%27f%3E' class='impl'><code class='in-band'>impl&lt;'f&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/ffi/struct.VaListImpl.html" title="struct core::ffi::VaListImpl">VaListImpl</a>&lt;'f&gt;</code><a href='#impl-Drop-for-VaListImpl%3C%27f%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/ffi.rs.html#375-388' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-12' class="method hidden"><code id='drop.v-13'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/ffi.rs.html#376-387' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-Waker' class='impl'><code class='in-band'>impl <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/core/task/wake/struct.Waker.html" title="struct core::task::wake::Waker">Waker</a></code><a href='#impl-Drop-for-Waker' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/task/wake.rs.html#301-309' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-13' class="method hidden"><code id='drop.v-14'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/task/wake.rs.html#303-308' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-for-Arc%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-Arc%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/sync.rs.html#1181-1252' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-14' class="method"><code id='drop.v-15'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/sync.rs.html#1210-1251' title='goto source code'>[src]</a></h4><div class='docblock'><p>Drops the <code>Arc</code>.</p>
<p>This will decrement the strong reference count. If the strong reference
count reaches zero then the only other references (if any) are
<a href="../../std/sync/struct.Weak.html"><code>Weak</code></a>, so we <code>drop</code> the inner value.</p>
<h1 id="examples-1" class="section-header"><a href="#examples-1">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::<span class="ident">Arc</span>;
<span class="kw">struct</span> <span class="ident">Foo</span>;
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">Foo</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;dropped!&quot;</span>);
}
}
<span class="kw">let</span> <span class="ident">foo</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">Foo</span>);
<span class="kw">let</span> <span class="ident">foo2</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">clone</span>(<span class="kw-2">&amp;</span><span class="ident">foo</span>);
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Doesn&#39;t print anything</span>
<span class="ident">drop</span>(<span class="ident">foo2</span>); <span class="comment">// Prints &quot;dropped!&quot;</span></pre></div>
</div></div><h3 id='impl-Drop-for-Weak%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Weak.html" title="struct alloc::sync::Weak">Weak</a>&lt;T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-Weak%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/sync.rs.html#1667-1708' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-15' class="method"><code id='drop.v-16'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/sync.rs.html#1692-1707' title='goto source code'>[src]</a></h4><div class='docblock'><p>Drops the <code>Weak</code> pointer.</p>
<h1 id="examples-2" class="section-header"><a href="#examples-2">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">sync</span>::{<span class="ident">Arc</span>, <span class="ident">Weak</span>};
<span class="kw">struct</span> <span class="ident">Foo</span>;
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">Foo</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;dropped!&quot;</span>);
}
}
<span class="kw">let</span> <span class="ident">foo</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">new</span>(<span class="ident">Foo</span>);
<span class="kw">let</span> <span class="ident">weak_foo</span> <span class="op">=</span> <span class="ident">Arc</span>::<span class="ident">downgrade</span>(<span class="kw-2">&amp;</span><span class="ident">foo</span>);
<span class="kw">let</span> <span class="ident">other_weak_foo</span> <span class="op">=</span> <span class="ident">Weak</span>::<span class="ident">clone</span>(<span class="kw-2">&amp;</span><span class="ident">weak_foo</span>);
<span class="ident">drop</span>(<span class="ident">weak_foo</span>); <span class="comment">// Doesn&#39;t print anything</span>
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Prints &quot;dropped!&quot;</span>
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">other_weak_foo</span>.<span class="ident">upgrade</span>().<span class="ident">is_none</span>());</pre></div>
</div></div><h3 id='impl-Drop-for-Weak%3CT%3E-1' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Weak.html" title="struct alloc::rc::Weak">Weak</a>&lt;T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-Weak%3CT%3E-1' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/rc.rs.html#1895-1932' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-16' class="method"><code id='drop.v-17'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/rc.rs.html#1920-1931' title='goto source code'>[src]</a></h4><div class='docblock'><p>Drops the <code>Weak</code> pointer.</p>
<h1 id="examples-3" class="section-header"><a href="#examples-3">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">rc</span>::{<span class="ident">Rc</span>, <span class="ident">Weak</span>};
<span class="kw">struct</span> <span class="ident">Foo</span>;
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">Foo</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;dropped!&quot;</span>);
}
}
<span class="kw">let</span> <span class="ident">foo</span> <span class="op">=</span> <span class="ident">Rc</span>::<span class="ident">new</span>(<span class="ident">Foo</span>);
<span class="kw">let</span> <span class="ident">weak_foo</span> <span class="op">=</span> <span class="ident">Rc</span>::<span class="ident">downgrade</span>(<span class="kw-2">&amp;</span><span class="ident">foo</span>);
<span class="kw">let</span> <span class="ident">other_weak_foo</span> <span class="op">=</span> <span class="ident">Weak</span>::<span class="ident">clone</span>(<span class="kw-2">&amp;</span><span class="ident">weak_foo</span>);
<span class="ident">drop</span>(<span class="ident">weak_foo</span>); <span class="comment">// Doesn&#39;t print anything</span>
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Prints &quot;dropped!&quot;</span>
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">other_weak_foo</span>.<span class="ident">upgrade</span>().<span class="ident">is_none</span>());</pre></div>
</div></div><h3 id='impl-Drop-for-Rc%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-for-Rc%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/rc.rs.html#1079-1124' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-17' class="method"><code id='drop.v-18'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/rc.rs.html#1107-1123' title='goto source code'>[src]</a></h4><div class='docblock'><p>Drops the <code>Rc</code>.</p>
<p>This will decrement the strong reference count. If the strong reference
count reaches zero then the only other references (if any) are
<a href="../../std/rc/struct.Weak.html"><code>Weak</code></a>, so we <code>drop</code> the inner value.</p>
<h1 id="examples-4" class="section-header"><a href="#examples-4">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">rc</span>::<span class="ident">Rc</span>;
<span class="kw">struct</span> <span class="ident">Foo</span>;
<span class="kw">impl</span> <span class="ident">Drop</span> <span class="kw">for</span> <span class="ident">Foo</span> {
<span class="kw">fn</span> <span class="ident">drop</span>(<span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="self">self</span>) {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;dropped!&quot;</span>);
}
}
<span class="kw">let</span> <span class="ident">foo</span> <span class="op">=</span> <span class="ident">Rc</span>::<span class="ident">new</span>(<span class="ident">Foo</span>);
<span class="kw">let</span> <span class="ident">foo2</span> <span class="op">=</span> <span class="ident">Rc</span>::<span class="ident">clone</span>(<span class="kw-2">&amp;</span><span class="ident">foo</span>);
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Doesn&#39;t print anything</span>
<span class="ident">drop</span>(<span class="ident">foo2</span>); <span class="comment">// Prints &quot;dropped!&quot;</span></pre></div>
</div></div><h3 id='impl-Drop-for-BacktraceFrameFmt%3C%27_%2C%20%27_%2C%20%27_%3E' class='impl'><code class='in-band'>impl&lt;'_, '_, '_&gt; <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Drop.html" title="trait nom::lib::std::prelude::v1::v1::Drop">Drop</a> for <a class="struct" href="../../../../backtrace/print/struct.BacktraceFrameFmt.html" title="struct backtrace::print::BacktraceFrameFmt">BacktraceFrameFmt</a>&lt;'_, '_, '_&gt;</code><a href='#impl-Drop-for-BacktraceFrameFmt%3C%27_%2C%20%27_%2C%20%27_%3E' class='anchor'></a><a class='srclink' href='../../../../src/backtrace/print.rs.html#263-267' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-18' class="method hidden"><code id='drop.v-19'>fn <a href='#method.drop' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='../../../../src/backtrace/print.rs.html#264-266' title='goto source code'>[src]</a></h4></div><span class='loading-content'>Loading content...</span>
<h2 id='implementors' class='small-section-header'>Implementors<a href='#implementors' class='anchor'></a></h2><div class='item-list' id='implementors-list'><h3 id='impl-Drop' class='impl'><code class='in-band'>impl&lt;'_&gt; Drop for nom::lib::std::string::<a class="struct" href="../../../../nom/lib/std/string/struct.Drain.html" title="struct nom::lib::std::string::Drain">Drain</a>&lt;'_&gt;</code><a href='#impl-Drop' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2399-2410' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-19' class="method hidden"><code id='drop.v-20'>fn <a href='#method.drop-19' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2400-2409' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-1' class='impl'><code class='in-band'>impl&lt;'_, I&gt; Drop for <a class="struct" href="../../../../nom/lib/std/vec/struct.Splice.html" title="struct nom::lib::std::vec::Splice">Splice</a>&lt;'_, I&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;I: <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Iterator.html" title="trait nom::lib::std::prelude::v1::v1::Iterator">Iterator</a>,&nbsp;</span></code><a href='#impl-Drop-1' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2802-2840' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-20' class="method hidden"><code id='drop.v-21'>fn <a href='#method.drop-20' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2803-2839' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-2' class='impl'><code class='in-band'>impl&lt;'_, T&gt; Drop for nom::lib::std::vec::<a class="struct" href="../../../../nom/lib/std/vec/struct.Drain.html" title="struct nom::lib::std::vec::Drain">Drain</a>&lt;'_, T&gt;</code><a href='#impl-Drop-2' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2710-2749' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-21' class="method hidden"><code id='drop.v-22'>fn <a href='#method.drop-21' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2711-2748' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-3' class='impl'><code class='in-band'>impl&lt;'_, T&gt; Drop for nom::lib::std::collections::vec_deque::<a class="struct" href="../../../../nom/lib/std/collections/vec_deque/struct.Drain.html" title="struct nom::lib::std::collections::vec_deque::Drain">Drain</a>&lt;'_, T&gt;</code><a href='#impl-Drop-3' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/vec_deque/drain.rs.html#39-97' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-22' class="method hidden"><code id='drop.v-23'>fn <a href='#method.drop-22' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/vec_deque/drain.rs.html#40-96' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-4' class='impl'><code class='in-band'>impl&lt;'_, T&gt; Drop for <a class="struct" href="../../../../nom/lib/std/collections/binary_heap/struct.PeekMut.html" title="struct nom::lib::std::collections::binary_heap::PeekMut">PeekMut</a>&lt;'_, T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Ord.html" title="trait nom::lib::std::prelude::v1::v1::Ord">Ord</a>,&nbsp;</span></code><a href='#impl-Drop-4' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/binary_heap.rs.html#275-281' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-23' class="method hidden"><code id='drop.v-24'>fn <a href='#method.drop-23' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/binary_heap.rs.html#276-280' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-5' class='impl'><code class='in-band'>impl&lt;'_, T, F&gt; Drop for nom::lib::std::collections::linked_list::<a class="struct" href="../../../../nom/lib/std/collections/linked_list/struct.DrainFilter.html" title="struct nom::lib::std::collections::linked_list::DrainFilter">DrainFilter</a>&lt;'_, T, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.FnMut.html" title="trait nom::lib::std::prelude::v1::v1::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,&nbsp;</span></code><a href='#impl-Drop-5' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/linked_list.rs.html#1609-1633' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-24' class="method hidden"><code id='drop.v-25'>fn <a href='#method.drop-24' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/linked_list.rs.html#1613-1632' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-6' class='impl'><code class='in-band'>impl&lt;'_, T, F&gt; Drop for nom::lib::std::vec::<a class="struct" href="../../../../nom/lib/std/vec/struct.DrainFilter.html" title="struct nom::lib::std::vec::DrainFilter">DrainFilter</a>&lt;'_, T, F&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.FnMut.html" title="trait nom::lib::std::prelude::v1::v1::FnMut">FnMut</a>(<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,&nbsp;</span></code><a href='#impl-Drop-6' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2943-2988' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-25' class="method hidden"><code id='drop.v-26'>fn <a href='#method.drop-25' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2947-2987' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-7' class='impl'><code class='in-band'>impl&lt;'a, T&gt; Drop for <a class="struct" href="../../../../nom/lib/std/collections/binary_heap/struct.DrainSorted.html" title="struct nom::lib::std::collections::binary_heap::DrainSorted">DrainSorted</a>&lt;'a, T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Ord.html" title="trait nom::lib::std::prelude::v1::v1::Ord">Ord</a>,&nbsp;</span></code><a href='#impl-Drop-7' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/binary_heap.rs.html#1239-1256' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-26' class="method"><code id='drop.v-27'>fn <a href='#method.drop-26' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/binary_heap.rs.html#1241-1255' title='goto source code'>[src]</a></h4><div class='docblock'><p>Removes heap elements in heap order.</p>
</div></div><h3 id='impl-Drop-8' class='impl'><code class='in-band'>impl&lt;K, V&gt; Drop for nom::lib::std::collections::btree_map::<a class="struct" href="../../../../nom/lib/std/collections/btree_map/struct.IntoIter.html" title="struct nom::lib::std::collections::btree_map::IntoIter">IntoIter</a>&lt;K, V&gt;</code><a href='#impl-Drop-8' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1471-1509' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-27' class="method hidden"><code id='drop.v-28'>fn <a href='#method.drop-27' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#1472-1508' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-9' class='impl'><code class='in-band'>impl&lt;K, V&gt; Drop for <a class="struct" href="../../../../nom/lib/std/collections/struct.BTreeMap.html" title="struct nom::lib::std::collections::BTreeMap">BTreeMap</a>&lt;K, V&gt;</code><a href='#impl-Drop-9' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#130-136' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-28' class="method hidden"><code id='drop.v-29'>fn <a href='#method.drop-28' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/btree/map.rs.html#131-135' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-10' class='impl'><code class='in-band'>impl&lt;T&gt; Drop for nom::lib::std::vec::<a class="struct" href="../../../../nom/lib/std/vec/struct.IntoIter.html" title="struct nom::lib::std::vec::IntoIter">IntoIter</a>&lt;T&gt;</code><a href='#impl-Drop-10' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2627-2637' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-29' class="method hidden"><code id='drop.v-30'>fn <a href='#method.drop-29' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2628-2636' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-11' class='impl'><code class='in-band'>impl&lt;T&gt; Drop for <a class="struct" href="../../../../nom/lib/std/collections/struct.VecDeque.html" title="struct nom::lib::std::collections::VecDeque">VecDeque</a>&lt;T&gt;</code><a href='#impl-Drop-11' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/vec_deque.rs.html#149-171' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-30' class="method hidden"><code id='drop.v-31'>fn <a href='#method.drop-30' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/vec_deque.rs.html#150-170' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-12' class='impl'><code class='in-band'>impl&lt;T&gt; Drop for <a class="struct" href="../../../../nom/lib/std/collections/struct.LinkedList.html" title="struct nom::lib::std::collections::LinkedList">LinkedList</a>&lt;T&gt;</code><a href='#impl-Drop-12' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/linked_list.rs.html#967-985' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-31' class="method hidden"><code id='drop.v-32'>fn <a href='#method.drop-31' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/collections/linked_list.rs.html#968-984' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-13' class='impl'><code class='in-band'>impl&lt;T&gt; Drop for <a class="struct" href="../../../../nom/lib/std/prelude/v1/v1/struct.Box.html" title="struct nom::lib::std::prelude::v1::v1::Box">Box</a>&lt;T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="../../../../nom/lib/std/prelude/v1/v1/trait.Sized.html" title="trait nom::lib::std::prelude::v1::v1::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Drop-13' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/boxed.rs.html#553-557' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-32' class="method hidden"><code id='drop.v-33'>fn <a href='#method.drop-32' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/boxed.rs.html#554-556' title='goto source code'>[src]</a></h4></div><h3 id='impl-Drop-14' class='impl'><code class='in-band'>impl&lt;T&gt; Drop for <a class="struct" href="../../../../nom/lib/std/prelude/v1/v1/struct.Vec.html" title="struct nom::lib::std::prelude::v1::v1::Vec">Vec</a>&lt;T&gt;</code><a href='#impl-Drop-14' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2323-2331' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.drop-33' class="method hidden"><code id='drop.v-34'>fn <a href='#method.drop-33' class='fnname'>drop</a>(&amp;mut self)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/vec.rs.html#2324-2330' title='goto source code'>[src]</a></h4></div></div><span class='loading-content'>Loading content...</span><script type="text/javascript" src="../../../../implementors/core/ops/drop/trait.Drop.js" async></script></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../../../";window.currentCrate = "nom";</script><script src="../../../../aliases.js"></script><script src="../../../../main.js"></script><script defer src="../../../../search-index.js"></script></body></html>