<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `RawRwLock` struct in crate `parking_lot`."><metaname="keywords"content="rust, rustlang, rust-lang, RawRwLock"><title>parking_lot::RawRwLock - Rust</title><linkrel="stylesheet"type="text/css"href="../normalize.css"><linkrel="stylesheet"type="text/css"href="../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../dark.css"><linkrel="stylesheet"type="text/css"href="../light.css"id="themeStyle"><scriptsrc="../storage.js"></script><noscript><linkrel="stylesheet"href="../noscript.css"></noscript><linkrel="shortcut icon"href="../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../parking_lot/index.html'><divclass='logo-container'><imgsrc='../rust-logo.png'alt='logo'></div></a><pclass='location'>Struct RawRwLock</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RawRwLock">RawRwLock</a><ahref="#impl-RawRwLockDowngrade">RawRwLockDowngrade</a><ahref="#impl-RawRwLockFair">RawRwLockFair</a><ahref="#impl-RawRwLockRecursive">RawRwLockRecursive</a><ahref="#impl-RawRwLockRecursiveTimed">RawRwLockRecursiveTimed</a><ahref="#impl-RawRwLockTimed">RawRwLockTimed</a><ahref="#impl-RawRwLockUpgrade">RawRwLockUpgrade</a><ahref="#impl-RawRwLockUpgradeDowngrade">RawRwLockUpgradeDowngrade</a><ahref="#impl-RawRwLockUpgradeFair">RawRwLockUpgradeFair</a><ahref="#impl-RawRwLockUpgradeTimed">RawRwLockUpgradeTimed</a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">RefUnwindSafe</a><ahref="#impl-Send">Send</a><ahref="#impl-Sync">Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><pclass='location'><ahref='index.html'>parking_lot</a></p><script>window.sidebarCurrent={name:'RawRwLock',ty:'struct',relpath:''};</script><scriptdefersrc="sidebar-items.js"></script></div></nav><divclass="theme-picker"><buttonid="theme-picker"aria-label="Pick another theme!"><imgsrc="../brush.svg"width="18"alt="Pick another theme!"></button><divid="theme-choices"></div></div><scriptsrc="../theme.js"></script><navclass="sub"><formclass="search-form js-only"><divclass="search-container"><div><selectid="crate-search"><optionvalue="All crates">All crates</option></select><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"></div><aid="settings-menu"href="../settings.html"><imgsrc="../wheel.svg"width="18"alt="Change settings"></a></div></form></nav><sectionid="main"class="content"><h1class='fqn'><spanclass='out-of-band'><spanid='render-detail'><aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass='inner'>−</span>]</a></span><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#59-61'title='goto source code'>[src]</a></span><spanclass='in-band'>Struct <ahref='index.html'>parking_lot</a>::<wbr><aclass="struct"href=''>Ra
</div><h2id='implementations'class='small-section-header'>Trait Implementations<ahref='#implementations'class='anchor'></a></h2><divid='implementations-list'><h3id='impl-RawRwLock'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLock.html"title="trait lock_api::rwlock::RawRwLock">RawRwLock</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLock'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#63-133'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedconstant.INIT'class="associatedconstant hidden"><codeid='INIT.v'>const <ahref='../lock_api/rwlock/trait.RawRwLock.html#associatedconstant.INIT'class="constant"><b>INIT</b></a>: <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#64'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Initial value for an unlocked <code>RwLock</code>.</p>
</div><h4id='associatedtype.GuardMarker'class="type"><codeid='GuardMarker.t'>type <ahref='../lock_api/rwlock/trait.RawRwLock.html#associatedtype.GuardMarker'class="type">GuardMarker</a> = <aclass="struct"href="../lock_api/struct.GuardNoSend.html"title="struct lock_api::GuardNoSend">GuardNoSend</a></code></h4><divclass='docblock'><p>Marker type which determines whether a lock guard should be <code>Send</code>. Use one of the <code>GuardSend</code> or <code>GuardNoSend</code> helper types here. <ahref="../lock_api/rwlock/trait.RawRwLock.html#associatedtype.GuardMarker">Read more</a></p>
</div><h4id='method.lock_exclusive'class="method hidden"><codeid='lock_exclusive.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLock.html#tymethod.lock_exclusive'class='fnname'>lock_exclusive</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#69-79'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Acquires an exclusive lock, blocking the current thread until it is able to do so.</p>
</div><h4id='method.try_lock_exclusive'class="method hidden"><codeid='try_lock_exclusive.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLock.html#tymethod.try_lock_exclusive'class='fnname'>try_lock_exclusive</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#82-90'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire an exclusive lock without blocking.</p>
</div><h4id='method.unlock_exclusive'class="method hidden"><codeid='unlock_exclusive.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLock.html#tymethod.unlock_exclusive'class='fnname'>unlock_exclusive</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#93-100'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Releases an exclusive lock.</p>
</div><h4id='method.lock_shared'class="method hidden"><codeid='lock_shared.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLock.html#tymethod.lock_shared'class='fnname'>lock_shared</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#103-109'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Acquires a shared lock, blocking the current thread until it is able to do so.</p>
</div><h4id='method.try_lock_shared'class="method hidden"><codeid='try_lock_shared.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLock.html#tymethod.try_lock_shared'class='fnname'>try_lock_shared</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#112-119'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire a shared lock without blocking.</p>
</div><h4id='method.unlock_shared'class="method hidden"><codeid='unlock_shared.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLock.html#tymethod.unlock_shared'class='fnname'>unlock_shared</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#122-132'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Releases a shared lock.</p>
</div></div><h3id='impl-RawRwLockFair'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockFair.html"title="trait lock_api::rwlock::RawRwLockFair">RawRwLockFair</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockFair'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#135-167'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.unlock_shared_fair'class="method hidden"><codeid='unlock_shared_fair.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockFair.html#tymethod.unlock_shared_fair'class='fnname'>unlock_shared_fair</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#137-140'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Releases a shared lock using a fair unlock protocol.</p>
</div><h4id='method.unlock_exclusive_fair'class="method hidden"><codeid='unlock_exclusive_fair.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockFair.html#tymethod.unlock_exclusive_fair'class='fnname'>unlock_exclusive_fair</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#143-150'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Releases an exclusive lock using a fair unlock protocol.</p>
</div><h4id='method.bump_shared'class="method hidden"><codeid='bump_shared.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_shared'class='fnname'>bump_shared</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#153-159'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Temporarily yields a shared lock to a waiting thread if there is one. <ahref="../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_shared">Read more</a></p>
</div><h4id='method.bump_exclusive'class="method hidden"><codeid='bump_exclusive.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_exclusive'class='fnname'>bump_exclusive</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#162-166'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Temporarily yields an exclusive lock to a waiting thread if there is one. <ahref="../lock_api/rwlock/trait.RawRwLockFair.html#method.bump_exclusive">Read more</a></p>
</div></div><h3id='impl-RawRwLockDowngrade'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockDowngrade.html"title="trait lock_api::rwlock::RawRwLockDowngrade">RawRwLockDowngrade</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockDowngrade'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#169-179'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.downgrade'class="method hidden"><codeid='downgrade.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockDowngrade.html#tymethod.downgrade'class='fnname'>downgrade</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#171-178'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Atomically downgrades an exclusive lock into a shared lock without allowing any thread to take an exclusive lock in the meantime. <ahref="../lock_api/rwlock/trait.RawRwLockDowngrade.html#tymethod.downgrade">Read more</a></p>
</div></div><h3id='impl-RawRwLockTimed'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockTimed.html"title="trait lock_api::rwlock::RawRwLockTimed">RawRwLockTimed</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockTimed'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#181-244'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Duration'class="type"><codeid='Duration.t'>type <ahref='../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Duration'class="type">Duration</a> = <aclass="struct"href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html"title="struct core::time::Duration">Duration</a></code></h4><divclass='docblock'><p>Duration type used for <code>try_lock_for</code>.</p>
</div><h4id='associatedtype.Instant'class="type"><codeid='Instant.t'>type <ahref='../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Instant'class="type">Instant</a> = <aclass="struct"href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html"title="struct std::time::Instant">Instant</a></code></h4><divclass='docblock'><p>Instant type used for <code>try_lock_until</code>.</p>
</div><h4id='method.try_lock_shared_for'class="method hidden"><codeid='try_lock_shared_for.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_shared_for'class='fnname'>try_lock_shared_for</a>(&self, timeout: Self::<aclass="type"href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Duration"title="type lock_api::rwlock::RawRwLockTimed::Duration">Duration</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#186-196'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached.</p>
</div><h4id='method.try_lock_shared_until'class="method hidden"><codeid='try_lock_shared_until.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_shared_until'class='fnname'>try_lock_shared_until</a>(&self, timeout: Self::<aclass="type"href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Instant"title="type lock_api::rwlock::RawRwLockTimed::Instant">Instant</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#199-209'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached.</p>
</div><h4id='method.try_lock_exclusive_for'class="method hidden"><codeid='try_lock_exclusive_for.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_exclusive_for'class='fnname'>try_lock_exclusive_for</a>(&self, timeout: <aclass="struct"href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html"title="struct core::time::Duration">Duration</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#212-226'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire an exclusive lock until a timeout is reached.</p>
</div><h4id='method.try_lock_exclusive_until'class="method hidden"><codeid='try_lock_exclusive_until.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockTimed.html#tymethod.try_lock_exclusive_until'class='fnname'>try_lock_exclusive_until</a>(&self, timeout: <aclass="struct"href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html"title="struct std::time::Instant">Instant</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#229-243'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire an exclusive lock until a timeout is reached.</p>
</div></div><h3id='impl-RawRwLockRecursive'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockRecursive.html"title="trait lock_api::rwlock::RawRwLockRecursive">RawRwLockRecursive</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockRecursive'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#246-265'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.lock_shared_recursive'class="method hidden"><codeid='lock_shared_recursive.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockRecursive.html#tymethod.lock_shared_recursive'class='fnname'>lock_shared_recursive</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#248-254'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Acquires a shared lock without deadlocking in case of a recursive lock.</p>
</div><h4id='method.try_lock_shared_recursive'class="method hidden"><codeid='try_lock_shared_recursive.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockRecursive.html#tymethod.try_lock_shared_recursive'class='fnname'>try_lock_shared_recursive</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#257-264'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire a shared lock without deadlocking in case of a recursive lock.</p>
</div></div><h3id='impl-RawRwLockRecursiveTimed'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html"title="trait lock_api::rwlock::RawRwLockRecursiveTimed">RawRwLockRecursiveTimed</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockRecursiveTimed'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#267-293'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.try_lock_shared_recursive_for'class="method hidden"><codeid='try_lock_shared_recursive_for.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_for'class='fnname'>try_lock_shared_recursive_for</a>(&self, timeout: Self::<aclass="type"href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Duration"title="type lock_api::rwlock::RawRwLockTimed::Duration">Duration</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#269-279'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached, without deadlocking in case of a recursive lock. <ahref="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_for">Read more</a></p>
</div><h4id='method.try_lock_shared_recursive_until'class="method hidden"><codeid='try_lock_shared_recursive_until.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_until'class='fnname'>try_lock_shared_recursive_until</a>(&self, timeout: Self::<aclass="type"href="../lock_api/rwlock/trait.RawRwLockTimed.html#associatedtype.Instant"title="type lock_api::rwlock::RawRwLockTimed::Instant">Instant</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#282-292'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire a shared lock until a timeout is reached, without deadlocking in case of a recursive lock. <ahref="../lock_api/rwlock/trait.RawRwLockRecursiveTimed.html#tymethod.try_lock_shared_recursive_until">Read more</a></p>
</div></div><h3id='impl-RawRwLockUpgrade'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockUpgrade.html"title="trait lock_api::rwlock::RawRwLockUpgrade">RawRwLockUpgrade</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockUpgrade'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#295-363'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.lock_upgradable'class="method hidden"><codeid='lock_upgradable.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.lock_upgradable'class='fnname'>lock_upgradable</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#297-303'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Acquires an upgradable lock, blocking the current thread until it is able to do so.</p>
</div><h4id='method.try_lock_upgradable'class="method hidden"><codeid='try_lock_upgradable.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.try_lock_upgradable'class='fnname'>try_lock_upgradable</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#306-313'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire an upgradable lock without blocking.</p>
</div><h4id='method.unlock_upgradable'class="method hidden"><codeid='unlock_upgradable.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.unlock_upgradable'class='fnname'>unlock_upgradable</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#316-334'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Releases an upgradable lock.</p>
</div><h4id='method.upgrade'class="method hidden"><codeid='upgrade.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.upgrade'class='fnname'>upgrade</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#337-344'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Upgrades an upgradable lock to an exclusive lock.</p>
</div><h4id='method.try_upgrade'class="method hidden"><codeid='try_upgrade.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.try_upgrade'class='fnname'>try_upgrade</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#347-362'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to upgrade an upgradable lock to an exclusive lock without blocking. <ahref="../lock_api/rwlock/trait.RawRwLockUpgrade.html#tymethod.try_upgrade">Read more</a></p>
</div></div><h3id='impl-RawRwLockUpgradeFair'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockUpgradeFair.html"title="trait lock_api::rwlock::RawRwLockUpgradeFair">RawRwLockUpgradeFair</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockUpgradeFair'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#365-393'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.unlock_upgradable_fair'class="method hidden"><codeid='unlock_upgradable_fair.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeFair.html#tymethod.unlock_upgradable_fair'class='fnname'>unlock_upgradable_fair</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#367-385'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Releases an upgradable lock using a fair unlock protocol.</p>
</div><h4id='method.bump_upgradable'class="method hidden"><codeid='bump_upgradable.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeFair.html#method.bump_upgradable'class='fnname'>bump_upgradable</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#388-392'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Temporarily yields an upgradable lock to a waiting thread if there is one. <ahref="../lock_api/rwlock/trait.RawRwLockUpgradeFair.html#method.bump_upgradable">Read more</a></p>
</div></div><h3id='impl-RawRwLockUpgradeDowngrade'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html"title="trait lock_api::rwlock::RawRwLockUpgradeDowngrade">RawRwLockUpgradeDowngrade</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockUpgradeDowngrade'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#395-416'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.downgrade_upgradable'class="method hidden"><codeid='downgrade_upgradable.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html#tymethod.downgrade_upgradable'class='fnname'>downgrade_upgradable</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#397-404'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Downgrades an upgradable lock to a shared lock.</p>
</div><h4id='method.downgrade_to_upgradable'class="method hidden"><codeid='downgrade_to_upgradable.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeDowngrade.html#tymethod.downgrade_to_upgradable'class='fnname'>downgrade_to_upgradable</a>(&self)</code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#407-415'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Downgrades an exclusive lock to an upgradable lock.</p>
</div></div><h3id='impl-RawRwLockUpgradeTimed'class='impl'><codeclass='in-band'>impl <aclass="trait"href="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html"title="trait lock_api::rwlock::RawRwLockUpgradeTimed">RawRwLockUpgradeTimed</a> for <aclass="struct"href="../parking_lot/struct.RawRwLock.html"title="struct parking_lot::RawRwLock">RawRwLock</a></code><ahref='#impl-RawRwLockUpgradeTimed'class='anchor'></a><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#418-462'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.try_lock_upgradable_until'class="method hidden"><codeid='try_lock_upgradable_until.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_lock_upgradable_until'class='fnname'>try_lock_upgradable_until</a>(&self, timeout: <aclass="struct"href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html"title="struct std::time::Instant">Instant</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#420-430'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire an upgradable lock until a timeout is reached.</p>
</div><h4id='method.try_lock_upgradable_for'class="method hidden"><codeid='try_lock_upgradable_for.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_lock_upgradable_for'class='fnname'>try_lock_upgradable_for</a>(&self, timeout: <aclass="struct"href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html"title="struct core::time::Duration">Duration</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#433-443'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to acquire an upgradable lock until a timeout is reached.</p>
</div><h4id='method.try_upgrade_until'class="method hidden"><codeid='try_upgrade_until.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_until'class='fnname'>try_upgrade_until</a>(&self, timeout: <aclass="struct"href="https://doc.rust-lang.org/nightly/std/time/struct.Instant.html"title="struct std::time::Instant">Instant</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#446-450'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to upgrade an upgradable lock to an exclusive lock until a timeout is reached. <ahref="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_until">Read more</a></p>
</div><h4id='method.try_upgrade_for'class="method hidden"><codeid='try_upgrade_for.v'>fn <ahref='../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_for'class='fnname'>try_upgrade_for</a>(&self, timeout: <aclass="struct"href="https://doc.rust-lang.org/nightly/core/time/struct.Duration.html"title="struct core::time::Duration">Duration</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><aclass='srclink'href='../src/parking_lot/raw_rwlock.rs.html#453-461'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Attempts to upgrade an upgradable lock to an exclusive lock until a timeout is reached. <ahref="../lock_api/rwlock/trait.RawRwLockUpgradeTimed.html#tymethod.try_upgrade_for">Read more</a></p>
</div></div><h3id='impl-From%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</code><ahref='#impl-From%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#552-554'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.from'class="method hidden"><codeid='from.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from'class='fnname'>from</a>(t: T) -> T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-TryFrom%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref='#impl-TryFrom%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#571-577'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error'class="type"><codeid='Error.t'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error'class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_from'class="method hidden"><codeid='try_from.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from'class='fnname'>try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#574-576'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-TryInto%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref='#impl-TryInto%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#559-566'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error-1'class="type"><codeid='Error.t-1'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error'class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_into'class="method hidden"><codeid='try_into.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into'class='fnname'>try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#563-565'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-BorrowMut%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-BorrowMut%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow_mut'class="method hidden"><codeid='borrow_mut.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut'class='fnname'>borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3id='impl-Borrow%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Borrow%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow'class="method hidden"><codeid='borrow.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow'class='fnname'>borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3id='impl-Any'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Any'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.type_id'class="method hidden"><codeid='type_id.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id'class='fnname'>type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div></div></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../";window.currentCrate="parking_lot";</script><scriptsrc="../aliases.js"></script><scriptsrc="../main.js"></script><scriptdefersrc="../search-index.js"></script></body></html>