This commit is contained in:
2020-01-23 23:13:36 -08:00
parent dcc0df955e
commit 2bc9ebdc6b
31829 changed files with 1229378 additions and 17 deletions

View File

@@ -0,0 +1,3 @@
<!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="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</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 mod"><!--[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='../crossbeam_utils/index.html'><div class='logo-container'><img src='../rust-logo.png' alt='logo'></div></a></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 js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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 id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span>
</span>
<span class='in-band'>List of all items</span></h1><h3 id='Structs'>Structs</h3><ul class='structs docblock'><li><a href='struct.Backoff.html'>Backoff</a></li><li><a href='struct.CachePadded.html'>CachePadded</a></li><li><a href='atomic/struct.AtomicCell.html'>atomic::AtomicCell</a></li><li><a href='sync/struct.Parker.html'>sync::Parker</a></li><li><a href='sync/struct.ShardedLock.html'>sync::ShardedLock</a></li><li><a href='sync/struct.ShardedLockReadGuard.html'>sync::ShardedLockReadGuard</a></li><li><a href='sync/struct.ShardedLockWriteGuard.html'>sync::ShardedLockWriteGuard</a></li><li><a href='sync/struct.Unparker.html'>sync::Unparker</a></li><li><a href='sync/struct.WaitGroup.html'>sync::WaitGroup</a></li><li><a href='thread/struct.Scope.html'>thread::Scope</a></li><li><a href='thread/struct.ScopedJoinHandle.html'>thread::ScopedJoinHandle</a></li><li><a href='thread/struct.ScopedThreadBuilder.html'>thread::ScopedThreadBuilder</a></li></ul><h3 id='Traits'>Traits</h3><ul class='traits docblock'><li><a href='atomic/trait.AtomicConsume.html'>atomic::AtomicConsume</a></li></ul><h3 id='Functions'>Functions</h3><ul class='functions docblock'><li><a href='thread/fn.scope.html'>thread::scope</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="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>&#9166;</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><div class="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 = "crossbeam_utils";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/atomic/struct.AtomicCell.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/atomic/struct.AtomicCell.html">../../../crossbeam_utils/atomic/struct.AtomicCell.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/atomic/struct.AtomicCell.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/atomic/trait.AtomicConsume.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/atomic/trait.AtomicConsume.html">../../../crossbeam_utils/atomic/trait.AtomicConsume.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/atomic/trait.AtomicConsume.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,6 @@
<!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 `atomic` mod in crate `crossbeam_utils`."><meta name="keywords" content="rust, rustlang, rust-lang, atomic"><title>crossbeam_utils::atomic - 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 mod"><!--[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='../../crossbeam_utils/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module atomic</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'><a href='../index.html'>crossbeam_utils</a></p><script>window.sidebarCurrent = {name: 'atomic', ty: 'mod', 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 js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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 id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/crossbeam_utils/atomic/mod.rs.html#1-7' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>crossbeam_utils</a>::<wbr><a class="mod" href=''>atomic</a></span></h1><div class='docblock'><p>Atomic types.</p>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.AtomicCell.html" title='crossbeam_utils::atomic::AtomicCell struct'>AtomicCell</a></td><td class='docblock-short'><p>A thread-safe mutable memory location.</p>
</td></tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
<table><tr class='module-item'><td><a class="trait" href="trait.AtomicConsume.html" title='crossbeam_utils::atomic::AtomicConsume trait'>AtomicConsume</a></td><td class='docblock-short'><p>Trait which allows reading from primitive atomic types with &quot;consume&quot; ordering.</p>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="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>&#9166;</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><div class="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 = "crossbeam_utils";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

View File

@@ -0,0 +1 @@
initSidebarItems({"struct":[["AtomicCell","A thread-safe mutable memory location."]],"trait":[["AtomicConsume","Trait which allows reading from primitive atomic types with \"consume\" ordering."]]});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../crossbeam_utils/struct.Backoff.html">
</head>
<body>
<p>Redirecting to <a href="../../crossbeam_utils/struct.Backoff.html">../../crossbeam_utils/struct.Backoff.html</a>...</p>
<script>location.replace("../../crossbeam_utils/struct.Backoff.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../crossbeam_utils/struct.CachePadded.html">
</head>
<body>
<p>Redirecting to <a href="../../crossbeam_utils/struct.CachePadded.html">../../crossbeam_utils/struct.CachePadded.html</a>...</p>
<script>location.replace("../../crossbeam_utils/struct.CachePadded.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,26 @@
<!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 `crossbeam_utils` crate."><meta name="keywords" content="rust, rustlang, rust-lang, crossbeam_utils"><title>crossbeam_utils - 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 mod"><!--[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='../crossbeam_utils/index.html'><div class='logo-container'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Crate crossbeam_utils</p><div class="sidebar-elems"><a id='all-types' href='all.html'><p>See all crossbeam_utils's items</p></a><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li></ul></div><p class='location'></p><script>window.sidebarCurrent = {name: 'crossbeam_utils', ty: 'mod', relpath: '../'};</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 js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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 id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/crossbeam_utils/lib.rs.html#1-67' title='goto source code'>[src]</a></span><span class='in-band'>Crate <a class="mod" href=''>crossbeam_utils</a></span></h1><div class='docblock'><p>Miscellaneous tools for concurrent programming.</p>
<h2 id="atomics" class="section-header"><a href="#atomics">Atomics</a></h2>
<ul>
<li><a href="atomic/struct.AtomicCell.html"><code>AtomicCell</code></a>, a thread-safe mutable memory location.</li>
<li><a href="atomic/trait.AtomicConsume.html"><code>AtomicConsume</code></a>, for reading from primitive atomic types with &quot;consume&quot; ordering.</li>
</ul>
<h2 id="thread-synchronization" class="section-header"><a href="#thread-synchronization">Thread synchronization</a></h2>
<ul>
<li><a href="sync/struct.Parker.html"><code>Parker</code></a>, a thread parking primitive.</li>
<li><a href="sync/struct.ShardedLock.html"><code>ShardedLock</code></a>, a sharded reader-writer lock with fast concurrent reads.</li>
<li><a href="sync/struct.WaitGroup.html"><code>WaitGroup</code></a>, for synchronizing the beginning or end of some computation.</li>
</ul>
<h2 id="utilities" class="section-header"><a href="#utilities">Utilities</a></h2>
<ul>
<li><a href="struct.Backoff.html"><code>Backoff</code></a>, for exponential backoff in spin loops.</li>
<li><a href="struct.CachePadded.html"><code>CachePadded</code></a>, for padding and aligning a value to the length of a cache line.</li>
<li><a href="thread/fn.scope.html"><code>scope</code></a>, for spawning threads that borrow local variables from the stack.</li>
</ul>
</div><h2 id='modules' class='section-header'><a href="#modules">Modules</a></h2>
<table><tr class='module-item'><td><a class="mod" href="atomic/index.html" title='crossbeam_utils::atomic mod'>atomic</a></td><td class='docblock-short'><p>Atomic types.</p>
</td></tr><tr class='module-item'><td><a class="mod" href="sync/index.html" title='crossbeam_utils::sync mod'>sync</a></td><td class='docblock-short'><p>Thread synchronization primitives.</p>
</td></tr><tr class='module-item'><td><a class="mod" href="thread/index.html" title='crossbeam_utils::thread mod'>thread</a></td><td class='docblock-short'><p>Threads that can borrow variables from the stack.</p>
</td></tr></table><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.Backoff.html" title='crossbeam_utils::Backoff struct'>Backoff</a></td><td class='docblock-short'><p>Performs exponential backoff in spin loops.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.CachePadded.html" title='crossbeam_utils::CachePadded struct'>CachePadded</a></td><td class='docblock-short'><p>Pads and aligns a value to the length of a cache line.</p>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="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>&#9166;</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><div class="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 = "crossbeam_utils";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>

View File

@@ -0,0 +1 @@
initSidebarItems({"mod":[["atomic","Atomic types."],["sync","Thread synchronization primitives."],["thread","Threads that can borrow variables from the stack."]],"struct":[["Backoff","Performs exponential backoff in spin loops."],["CachePadded","Pads and aligns a value to the length of a cache line."]]});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,14 @@
<!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 `sync` mod in crate `crossbeam_utils`."><meta name="keywords" content="rust, rustlang, rust-lang, sync"><title>crossbeam_utils::sync - 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 mod"><!--[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='../../crossbeam_utils/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module sync</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li></ul></div><p class='location'><a href='../index.html'>crossbeam_utils</a></p><script>window.sidebarCurrent = {name: 'sync', ty: 'mod', 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 js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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 id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/crossbeam_utils/sync/mod.rs.html#1-17' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>crossbeam_utils</a>::<wbr><a class="mod" href=''>sync</a></span></h1><div class='docblock'><p>Thread synchronization primitives.</p>
<ul>
<li><a href="struct.Parker.html"><code>Parker</code></a>, a thread parking primitive.</li>
<li><a href="struct.ShardedLock.html"><code>ShardedLock</code></a>, a sharded reader-writer lock with fast concurrent reads.</li>
<li><a href="struct.WaitGroup.html"><code>WaitGroup</code></a>, for synchronizing the beginning or end of some computation.</li>
</ul>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.Parker.html" title='crossbeam_utils::sync::Parker struct'>Parker</a></td><td class='docblock-short'><p>A thread parking primitive.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.ShardedLock.html" title='crossbeam_utils::sync::ShardedLock struct'>ShardedLock</a></td><td class='docblock-short'><p>A sharded reader-writer lock.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.ShardedLockReadGuard.html" title='crossbeam_utils::sync::ShardedLockReadGuard struct'>ShardedLockReadGuard</a></td><td class='docblock-short'><p>A guard used to release the shared read access of a <a href="struct.ShardedLock.html"><code>ShardedLock</code></a> when dropped.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.ShardedLockWriteGuard.html" title='crossbeam_utils::sync::ShardedLockWriteGuard struct'>ShardedLockWriteGuard</a></td><td class='docblock-short'><p>A guard used to release the exclusive write access of a <a href="struct.ShardedLock.html"><code>ShardedLock</code></a> when dropped.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.Unparker.html" title='crossbeam_utils::sync::Unparker struct'>Unparker</a></td><td class='docblock-short'><p>Unparks a thread parked by the associated <a href="struct.Parker.html"><code>Parker</code></a>.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.WaitGroup.html" title='crossbeam_utils::sync::WaitGroup struct'>WaitGroup</a></td><td class='docblock-short'><p>Enables threads to synchronize the beginning or end of some computation.</p>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="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>&#9166;</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><div class="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 = "crossbeam_utils";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/sync/struct.Parker.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/sync/struct.Parker.html">../../../crossbeam_utils/sync/struct.Parker.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/sync/struct.Parker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/sync/struct.Unparker.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/sync/struct.Unparker.html">../../../crossbeam_utils/sync/struct.Unparker.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/sync/struct.Unparker.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/sync/struct.ShardedLock.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/sync/struct.ShardedLock.html">../../../crossbeam_utils/sync/struct.ShardedLock.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/sync/struct.ShardedLock.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/sync/struct.ShardedLockReadGuard.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/sync/struct.ShardedLockReadGuard.html">../../../crossbeam_utils/sync/struct.ShardedLockReadGuard.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/sync/struct.ShardedLockReadGuard.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/sync/struct.ShardedLockWriteGuard.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/sync/struct.ShardedLockWriteGuard.html">../../../crossbeam_utils/sync/struct.ShardedLockWriteGuard.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/sync/struct.ShardedLockWriteGuard.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1 @@
initSidebarItems({"struct":[["Parker","A thread parking primitive."],["ShardedLock","A sharded reader-writer lock."],["ShardedLockReadGuard","A guard used to release the shared read access of a [`ShardedLock`] when dropped."],["ShardedLockWriteGuard","A guard used to release the exclusive write access of a [`ShardedLock`] when dropped."],["Unparker","Unparks a thread parked by the associated [`Parker`]."],["WaitGroup","Enables threads to synchronize the beginning or end of some computation."]]});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=../../../crossbeam_utils/sync/struct.WaitGroup.html">
</head>
<body>
<p>Redirecting to <a href="../../../crossbeam_utils/sync/struct.WaitGroup.html">../../../crossbeam_utils/sync/struct.WaitGroup.html</a>...</p>
<script>location.replace("../../../crossbeam_utils/sync/struct.WaitGroup.html" + location.search + location.hash);</script>
</body>
</html>

View File

@@ -0,0 +1,17 @@
<!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 `scope` fn in crate `crossbeam_utils`."><meta name="keywords" content="rust, rustlang, rust-lang, scope"><title>crossbeam_utils::thread::scope - 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 fn"><!--[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='../../crossbeam_utils/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class='location'><a href='../index.html'>crossbeam_utils</a>::<wbr><a href='index.html'>thread</a></p><script>window.sidebarCurrent = {name: 'scope', ty: 'fn', 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 js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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 id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/crossbeam_utils/thread.rs.html#149-194' title='goto source code'>[src]</a></span><span class='in-band'>Function <a href='../index.html'>crossbeam_utils</a>::<wbr><a href='index.html'>thread</a>::<wbr><a class="fn" href=''>scope</a></span></h1><pre class='rust fn'>pub fn scope&lt;'env, F, R&gt;(f: F) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/std/thread/type.Result.html" title="type std::thread::Result">Result</a>&lt;R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(&amp;<a class="struct" href="../../crossbeam_utils/thread/struct.Scope.html" title="struct crossbeam_utils::thread::Scope">Scope</a>&lt;'env&gt;) -&gt; R,&nbsp;</span></pre><div class='docblock'><p>Creates a new scope for spawning threads.</p>
<p>All child threads that haven't been manually joined will be automatically joined just before
this function invocation ends. If all joined threads have successfully completed, <code>Ok</code> is
returned with the return value of <code>f</code>. If any of the joined threads has panicked, an <code>Err</code> is
returned containing errors from panicked threads.</p>
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">crossbeam_utils</span>::<span class="ident">thread</span>;
<span class="kw">let</span> <span class="ident">var</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
<span class="ident">thread</span>::<span class="ident">scope</span>(<span class="op">|</span><span class="ident">s</span><span class="op">|</span> {
<span class="ident">s</span>.<span class="ident">spawn</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;A child thread borrowing `var`: {:?}&quot;</span>, <span class="ident">var</span>);
});
}).<span class="ident">unwrap</span>();</pre></div>
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="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>&#9166;</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><div class="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 = "crossbeam_utils";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

View File

@@ -0,0 +1,101 @@
<!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 `thread` mod in crate `crossbeam_utils`."><meta name="keywords" content="rust, rustlang, rust-lang, thread"><title>crossbeam_utils::thread - 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 mod"><!--[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='../../crossbeam_utils/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Module thread</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div><p class='location'><a href='../index.html'>crossbeam_utils</a></p><script>window.sidebarCurrent = {name: 'thread', ty: 'mod', 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 js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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 id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/crossbeam_utils/thread.rs.html#1-529' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>crossbeam_utils</a>::<wbr><a class="mod" href=''>thread</a></span></h1><div class='docblock'><p>Threads that can borrow variables from the stack.</p>
<p>Create a scope when spawned threads need to access variables on the stack:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">crossbeam_utils</span>::<span class="ident">thread</span>;
<span class="kw">let</span> <span class="ident">people</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[
<span class="string">&quot;Alice&quot;</span>.<span class="ident">to_string</span>(),
<span class="string">&quot;Bob&quot;</span>.<span class="ident">to_string</span>(),
<span class="string">&quot;Carol&quot;</span>.<span class="ident">to_string</span>(),
];
<span class="ident">thread</span>::<span class="ident">scope</span>(<span class="op">|</span><span class="ident">s</span><span class="op">|</span> {
<span class="kw">for</span> <span class="ident">person</span> <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="ident">people</span> {
<span class="ident">s</span>.<span class="ident">spawn</span>(<span class="kw">move</span> <span class="op">|</span><span class="kw">_</span><span class="op">|</span> {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;Hello, {}!&quot;</span>, <span class="ident">person</span>);
});
}
}).<span class="ident">unwrap</span>();</pre></div>
<h1 id="why-scoped-threads" class="section-header"><a href="#why-scoped-threads">Why scoped threads?</a></h1>
<p>Suppose we wanted to re-write the previous example using plain threads:</p>
<div class='information'><div class='tooltip ignore'><span class='tooltiptext'>This example is not tested</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">thread</span>;
<span class="kw">let</span> <span class="ident">people</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[
<span class="string">&quot;Alice&quot;</span>.<span class="ident">to_string</span>(),
<span class="string">&quot;Bob&quot;</span>.<span class="ident">to_string</span>(),
<span class="string">&quot;Carol&quot;</span>.<span class="ident">to_string</span>(),
];
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">threads</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
<span class="kw">for</span> <span class="ident">person</span> <span class="kw">in</span> <span class="kw-2">&amp;</span><span class="ident">people</span> {
<span class="ident">threads</span>.<span class="ident">push</span>(<span class="ident">thread</span>::<span class="ident">spawn</span>(<span class="kw">move</span> <span class="op">|</span><span class="kw">_</span><span class="op">|</span> {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;Hello, {}!&quot;</span>, <span class="ident">person</span>);
}));
}
<span class="kw">for</span> <span class="ident">thread</span> <span class="kw">in</span> <span class="ident">threads</span> {
<span class="ident">thread</span>.<span class="ident">join</span>().<span class="ident">unwrap</span>();
}</pre></div>
<p>This doesn't work because the borrow checker complains about <code>people</code> not living long enough:</p>
<pre><code class="language-text">error[E0597]: `people` does not live long enough
--&gt; src/main.rs:12:20
|
12 | for person in &amp;people {
| ^^^^^^ borrowed value does not live long enough
...
21 | }
| - borrowed value only lives until here
|
= note: borrowed value must be valid for the static lifetime...
</code></pre>
<p>The problem here is that spawned threads are not allowed to borrow variables on stack because
the compiler cannot prove they will be joined before <code>people</code> is destroyed.</p>
<p>Scoped threads are a mechanism to guarantee to the compiler that spawned threads will be joined
before the scope ends.</p>
<h1 id="how-scoped-threads-work" class="section-header"><a href="#how-scoped-threads-work">How scoped threads work</a></h1>
<p>If a variable is borrowed by a thread, the thread must complete before the variable is
destroyed. Threads spawned using <a href="https://doc.rust-lang.org/std/thread/fn.spawn.html"><code>std::thread::spawn</code></a> can only borrow variables with the
<code>'static</code> lifetime because the borrow checker cannot be sure when the thread will complete.</p>
<p>A scope creates a clear boundary between variables outside the scope and threads inside the
scope. Whenever a s.spawns a thread, it promises to join the thread before the scope ends.
This way we guarantee to the borrow checker that scoped threads only live within the scope and
can safely access variables outside it.</p>
<h1 id="nesting-scoped-threads" class="section-header"><a href="#nesting-scoped-threads">Nesting scoped threads</a></h1>
<p>Sometimes scoped threads need to spawn more threads within the same scope. This is a little
tricky because argument <code>s</code> lives <em>inside</em> the invocation of <code>thread::scope()</code> and as such
cannot be borrowed by scoped threads:</p>
<div class='information'><div class='tooltip ignore'><span class='tooltiptext'>This example is not tested</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
<span class="kw">use</span> <span class="ident">crossbeam_utils</span>::<span class="ident">thread</span>;
<span class="ident">thread</span>::<span class="ident">scope</span>(<span class="op">|</span><span class="ident">s</span><span class="op">|</span> {
<span class="ident">s</span>.<span class="ident">spawn</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> {
<span class="comment">// Not going to compile because we&#39;re trying to borrow `s`,</span>
<span class="comment">// which lives *inside* the scope! :(</span>
<span class="ident">s</span>.<span class="ident">spawn</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;nested thread&quot;</span>));
}});
});</pre></div>
<p>Fortunately, there is a solution. Every scoped thread is passed a reference to its scope as an
argument, which can be used for spawning nested threads:</p>
<div class='information'><div class='tooltip ignore'><span class='tooltiptext'>This example is not tested</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered ignore">
<span class="kw">use</span> <span class="ident">crossbeam_utils</span>::<span class="ident">thread</span>;
<span class="ident">thread</span>::<span class="ident">scope</span>(<span class="op">|</span><span class="ident">s</span><span class="op">|</span> {
<span class="comment">// Note the `|s|` here.</span>
<span class="ident">s</span>.<span class="ident">spawn</span>(<span class="op">|</span><span class="ident">s</span><span class="op">|</span> {
<span class="comment">// Yay, this works because we&#39;re using a fresh argument `s`! :)</span>
<span class="ident">s</span>.<span class="ident">spawn</span>(<span class="op">|</span><span class="kw">_</span><span class="op">|</span> <span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;nested thread&quot;</span>));
}});
});</pre></div>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table><tr class='module-item'><td><a class="struct" href="struct.Scope.html" title='crossbeam_utils::thread::Scope struct'>Scope</a></td><td class='docblock-short'><p>A scope for spawning threads.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.ScopedJoinHandle.html" title='crossbeam_utils::thread::ScopedJoinHandle struct'>ScopedJoinHandle</a></td><td class='docblock-short'><p>A handle that can be used to join its scoped thread.</p>
</td></tr><tr class='module-item'><td><a class="struct" href="struct.ScopedThreadBuilder.html" title='crossbeam_utils::thread::ScopedThreadBuilder struct'>ScopedThreadBuilder</a></td><td class='docblock-short'><p>Configures the properties of a new thread.</p>
</td></tr></table><h2 id='functions' class='section-header'><a href="#functions">Functions</a></h2>
<table><tr class='module-item'><td><a class="fn" href="fn.scope.html" title='crossbeam_utils::thread::scope fn'>scope</a></td><td class='docblock-short'><p>Creates a new scope for spawning threads.</p>
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="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>&#9166;</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><div class="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 = "crossbeam_utils";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>

View File

@@ -0,0 +1 @@
initSidebarItems({"fn":[["scope","Creates a new scope for spawning threads."]],"struct":[["Scope","A scope for spawning threads."],["ScopedJoinHandle","A handle that can be used to join its scoped thread."],["ScopedThreadBuilder","Configures the properties of a new thread."]]});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long