173 lines
51 KiB
HTML
173 lines
51 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="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">☰</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<T></a><a href="#impl-Drop-for-BacktraceFrameFmt%3C%27_%2C%20%27_%2C%20%27_%3E">BacktraceFrameFmt<'_, '_, '_></a><a href="#impl-Drop-for-BufWriter%3CW%3E">BufWriter<W></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<T, N></a><a href="#impl-Drop-for-Mutex%3CT%3E">Mutex<T></a><a href="#impl-Drop-for-MutexGuard%3C%27_%2C%20T%3E">MutexGuard<'_, T></a><a href="#impl-Drop-for-Rc%3CT%3E">Rc<T></a><a href="#impl-Drop-for-Receiver%3CT%3E">Receiver<T></a><a href="#impl-Drop-for-RwLock%3CT%3E">RwLock<T></a><a href="#impl-Drop-for-RwLockReadGuard%3C%27_%2C%20T%3E">RwLockReadGuard<'_, T></a><a href="#impl-Drop-for-RwLockWriteGuard%3C%27_%2C%20T%3E">RwLockWriteGuard<'_, T></a><a href="#impl-Drop-for-Sender%3CT%3E">Sender<T></a><a href="#impl-Drop-for-SyncSender%3CT%3E">SyncSender<T></a><a href="#impl-Drop-for-VaListImpl%3C%27f%3E">VaListImpl<'f></a><a href="#impl-Drop-for-Waker">Waker</a><a href="#impl-Drop-for-Weak%3CT%3E">Weak<T></a><a href="#impl-Drop-for-Weak%3CT%3E">Weak<T></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'>−</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>(&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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Dropping!"</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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Dropping Inner!"</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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Dropping Outer!"</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">&</span><span class="lifetime">'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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</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">"Declared first!"</span>);
|
||
<span class="kw">let</span> <span class="ident">_second</span> <span class="op">=</span> <span class="ident">PrintOnDrop</span>(<span class="string">"Declared second!"</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>(&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<T> <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><T></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>(&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<T> <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><T></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>(&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<W> <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><W> <span class="where fmt-newline">where<br> W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>, </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>(&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<'_, T> <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><'_, T> <span class="where fmt-newline">where<br> 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>, </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>(&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<T> <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><T></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>(&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>(&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<T> <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><T> <span class="where fmt-newline">where<br> 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>, </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>(&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<'_, T> <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><'_, T> <span class="where fmt-newline">where<br> 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>, </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>(&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<T> <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><T> <span class="where fmt-newline">where<br> 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>, </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>(&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<'_, T> <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><'_, T> <span class="where fmt-newline">where<br> 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>, </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>(&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>(&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<const N: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, T> <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><T, N> <span class="where fmt-newline">where<br> <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>, </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>(&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<'f> <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><'f></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>(&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>(&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<T> <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><T> <span class="where fmt-newline">where<br> 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>, </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>(&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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"dropped!"</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">&</span><span class="ident">foo</span>);
|
||
|
||
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Doesn't print anything</span>
|
||
<span class="ident">drop</span>(<span class="ident">foo2</span>); <span class="comment">// Prints "dropped!"</span></pre></div>
|
||
</div></div><h3 id='impl-Drop-for-Weak%3CT%3E' class='impl'><code class='in-band'>impl<T> <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><T> <span class="where fmt-newline">where<br> 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>, </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>(&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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"dropped!"</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">&</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">&</span><span class="ident">weak_foo</span>);
|
||
|
||
<span class="ident">drop</span>(<span class="ident">weak_foo</span>); <span class="comment">// Doesn't print anything</span>
|
||
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Prints "dropped!"</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<T> <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><T> <span class="where fmt-newline">where<br> 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>, </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>(&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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"dropped!"</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">&</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">&</span><span class="ident">weak_foo</span>);
|
||
|
||
<span class="ident">drop</span>(<span class="ident">weak_foo</span>); <span class="comment">// Doesn't print anything</span>
|
||
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Prints "dropped!"</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<T> <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><T> <span class="where fmt-newline">where<br> 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>, </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>(&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">&</span><span class="kw-2">mut</span> <span class="self">self</span>) {
|
||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"dropped!"</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">&</span><span class="ident">foo</span>);
|
||
|
||
<span class="ident">drop</span>(<span class="ident">foo</span>); <span class="comment">// Doesn't print anything</span>
|
||
<span class="ident">drop</span>(<span class="ident">foo2</span>); <span class="comment">// Prints "dropped!"</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<'_, '_, '_> <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><'_, '_, '_></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>(&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<'_> 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><'_></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>(&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<'_, I> Drop for <a class="struct" href="../../../../nom/lib/std/vec/struct.Splice.html" title="struct nom::lib::std::vec::Splice">Splice</a><'_, I> <span class="where fmt-newline">where<br> 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>, </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>(&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<'_, T> 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><'_, T></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>(&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<'_, T> 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><'_, T></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>(&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<'_, T> 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><'_, T> <span class="where fmt-newline">where<br> 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>, </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>(&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<'_, T, F> 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><'_, T, F> <span class="where fmt-newline">where<br> 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">&mut </a>T) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, </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>(&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<'_, T, F> 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><'_, T, F> <span class="where fmt-newline">where<br> 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">&mut </a>T) -> <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>, </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>(&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<'a, T> 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><'a, T> <span class="where fmt-newline">where<br> 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>, </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>(&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<K, V> 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><K, V></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>(&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<K, V> Drop for <a class="struct" href="../../../../nom/lib/std/collections/struct.BTreeMap.html" title="struct nom::lib::std::collections::BTreeMap">BTreeMap</a><K, V></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>(&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<T> 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><T></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>(&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<T> Drop for <a class="struct" href="../../../../nom/lib/std/collections/struct.VecDeque.html" title="struct nom::lib::std::collections::VecDeque">VecDeque</a><T></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>(&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<T> Drop for <a class="struct" href="../../../../nom/lib/std/collections/struct.LinkedList.html" title="struct nom::lib::std::collections::LinkedList">LinkedList</a><T></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>(&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<T> 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><T> <span class="where fmt-newline">where<br> 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>, </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>(&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<T> 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><T></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>(&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> |