Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > 0c2243f8a1696816431e7210e991fa52 > files > 11535

rust-doc-1.35.0-1.mga7.armv7hl.rpm

<!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 `intrinsics` mod in crate `core`."><meta name="keywords" content="rust, rustlang, rust-lang, intrinsics"><title>core::intrinsics - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize1.35.0.css"><link rel="stylesheet" type="text/css" href="../../rustdoc1.35.0.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark1.35.0.css"><link rel="stylesheet" type="text/css" href="../../light1.35.0.css" id="themeStyle"><script src="../../storage1.35.0.js"></script><noscript><link rel="stylesheet" href="../../noscript1.35.0.css"></noscript><link rel="shortcut icon" href="../../favicon1.35.0.ico"><style type="text/css">#crate-search{background-image:url("../../down-arrow1.35.0.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='../../core/index.html'><img src='../../rust-logo1.35.0.png' alt='logo' width='100'></a><p class='location'>Module intrinsics</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#functions">Functions</a></li></ul></div><p class='location'><a href='../index.html'>core</a></p><script>window.sidebarCurrent = {name: 'intrinsics', 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="../../brush1.35.0.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme1.35.0.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="../../wheel1.35.0.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 '></span><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/core/intrinsics.rs.html#1-1558' title='goto source code'>[src]</a></span><span class='in-band'>Module <a href='../index.html'>core</a>::<wbr><a class="mod" href=''>intrinsics</a></span></h1><div class='stability'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>core_intrinsics</code>&nbsp;<a href="https://github.com/rust-lang/rust/issues/0">#0</a>)</summary><p>intrinsics are unlikely to ever be stabilized, instead they should be used through stabilized interfaces in the rest of the standard library</p>
</details></div></div><div class='docblock'><p>Compiler intrinsics.</p>
<p>The corresponding definitions are in <code>librustc_codegen_llvm/intrinsic.rs</code>.</p>
<h1 id="volatiles" class="section-header"><a href="#volatiles">Volatiles</a></h1>
<p>The volatile intrinsics provide operations intended to act on I/O
memory, which are guaranteed to not be reordered by the compiler
across other volatile intrinsics. See the LLVM documentation on
[<a href="http://llvm.org/docs/LangRef.html#volatile-memory-accesses">volatile</a>].</p>
<h1 id="atomics" class="section-header"><a href="#atomics">Atomics</a></h1>
<p>The atomic intrinsics provide common atomic operations on machine
words, with multiple possible memory orderings. They obey the same
semantics as C++11. See the LLVM documentation on [<a href="http://llvm.org/docs/Atomics.html">atomics</a>].</p>
<p>A quick refresher on memory ordering:</p>
<ul>
<li>Acquire - a barrier for acquiring a lock. Subsequent reads and writes
take place after the barrier.</li>
<li>Release - a barrier for releasing a lock. Preceding reads and writes
take place before the barrier.</li>
<li>Sequentially consistent - sequentially consistent operations are
guaranteed to happen in order. This is the standard mode for working
with atomic types and is equivalent to Java's <code>volatile</code>.</li>
</ul>
</div><h2 id='reexports' class='section-header'><a href="#reexports">Re-exports</a></h2>
<table><tr><td><code>pub use ptr::<a class="fn" href="../../core/ptr/fn.drop_in_place.html" title="fn core::ptr::drop_in_place">drop_in_place</a>;</code></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.copy.html" title='core::intrinsics::copy fn'>copy</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><p>Copies <code>count * size_of::&lt;T&gt;()</code> bytes from <code>src</code> to <code>dst</code>. The source
and destination may overlap.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.copy_nonoverlapping.html" title='core::intrinsics::copy_nonoverlapping fn'>copy_nonoverlapping</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><p>Copies <code>count * size_of::&lt;T&gt;()</code> bytes from <code>src</code> to <code>dst</code>. The source
and destination must <em>not</em> overlap.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.transmute.html" title='core::intrinsics::transmute fn'>transmute</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><p>Reinterprets the bits of a value of one type as another type.</p>
</td></tr><tr class='module-item'><td><a class="fn" href="fn.write_bytes.html" title='core::intrinsics::write_bytes fn'>write_bytes</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><p>Sets <code>count * size_of::&lt;T&gt;()</code> bytes of memory starting at <code>dst</code> to
<code>val</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.abort.html" title='core::intrinsics::abort fn'>abort</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Aborts the execution of the process.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.add_with_overflow.html" title='core::intrinsics::add_with_overflow fn'>add_with_overflow</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs checked integer addition.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>overflowing_add</code> method. For example,
<a href="../../std/primitive.u32.html#method.overflowing_add"><code>std::u32::overflowing_add</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.arith_offset.html" title='core::intrinsics::arith_offset fn'>arith_offset</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Calculates the offset from a pointer, potentially wrapping.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.assume.html" title='core::intrinsics::assume fn'>assume</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Informs the optimizer that a condition is always true.
If the condition is false, the behavior is undefined.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_and.html" title='core::intrinsics::atomic_and fn'>atomic_and</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise and with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_and</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_and"><code>AtomicBool::fetch_and</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_and_acq.html" title='core::intrinsics::atomic_and_acq fn'>atomic_and_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise and with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_and</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_and"><code>AtomicBool::fetch_and</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_and_acqrel.html" title='core::intrinsics::atomic_and_acqrel fn'>atomic_and_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise and with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_and</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_and"><code>AtomicBool::fetch_and</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_and_rel.html" title='core::intrinsics::atomic_and_rel fn'>atomic_and_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise and with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_and</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_and"><code>AtomicBool::fetch_and</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_and_relaxed.html" title='core::intrinsics::atomic_and_relaxed fn'>atomic_and_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise and with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_and</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_and"><code>AtomicBool::fetch_and</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg.html" title='core::intrinsics::atomic_cxchg fn'>atomic_cxchg</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as both the <code>success</code> and <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_acq.html" title='core::intrinsics::atomic_cxchg_acq fn'>atomic_cxchg_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as both the <code>success</code> and <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_acq_failrelaxed.html" title='core::intrinsics::atomic_cxchg_acq_failrelaxed fn'>atomic_cxchg_acq_failrelaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_acqrel.html" title='core::intrinsics::atomic_cxchg_acqrel fn'>atomic_cxchg_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_acqrel_failrelaxed.html" title='core::intrinsics::atomic_cxchg_acqrel_failrelaxed fn'>atomic_cxchg_acqrel_failrelaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_failacq.html" title='core::intrinsics::atomic_cxchg_failacq fn'>atomic_cxchg_failacq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_failrelaxed.html" title='core::intrinsics::atomic_cxchg_failrelaxed fn'>atomic_cxchg_failrelaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_rel.html" title='core::intrinsics::atomic_cxchg_rel fn'>atomic_cxchg_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchg_relaxed.html" title='core::intrinsics::atomic_cxchg_relaxed fn'>atomic_cxchg_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as both the <code>success</code> and <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange"><code>AtomicBool::compare_exchange</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak.html" title='core::intrinsics::atomic_cxchgweak fn'>atomic_cxchgweak</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as both the <code>success</code> and <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_acq.html" title='core::intrinsics::atomic_cxchgweak_acq fn'>atomic_cxchgweak_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as both the <code>success</code> and <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_acq_failrelaxed.html" title='core::intrinsics::atomic_cxchgweak_acq_failrelaxed fn'>atomic_cxchgweak_acq_failrelaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_acqrel.html" title='core::intrinsics::atomic_cxchgweak_acqrel fn'>atomic_cxchgweak_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_acqrel_failrelaxed.html" title='core::intrinsics::atomic_cxchgweak_acqrel_failrelaxed fn'>atomic_cxchgweak_acqrel_failrelaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_failacq.html" title='core::intrinsics::atomic_cxchgweak_failacq fn'>atomic_cxchgweak_failacq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_failrelaxed.html" title='core::intrinsics::atomic_cxchgweak_failrelaxed fn'>atomic_cxchgweak_failrelaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_rel.html" title='core::intrinsics::atomic_cxchgweak_rel fn'>atomic_cxchgweak_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>success</code> and
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_cxchgweak_relaxed.html" title='core::intrinsics::atomic_cxchgweak_relaxed fn'>atomic_cxchgweak_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores a value if the current value is the same as the <code>old</code> value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>compare_exchange_weak</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as both the <code>success</code> and <code>failure</code> parameters. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.compare_exchange_weak"><code>AtomicBool::compare_exchange_weak</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_fence.html" title='core::intrinsics::atomic_fence fn'>atomic_fence</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_fence_acq.html" title='core::intrinsics::atomic_fence_acq fn'>atomic_fence_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_fence_acqrel.html" title='core::intrinsics::atomic_fence_acqrel fn'>atomic_fence_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_fence_rel.html" title='core::intrinsics::atomic_fence_rel fn'>atomic_fence_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_load.html" title='core::intrinsics::atomic_load fn'>atomic_load</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Loads the current value of the pointer.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>load</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.load"><code>AtomicBool::load</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_load_acq.html" title='core::intrinsics::atomic_load_acq fn'>atomic_load_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Loads the current value of the pointer.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>load</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.load"><code>AtomicBool::load</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_load_relaxed.html" title='core::intrinsics::atomic_load_relaxed fn'>atomic_load_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Loads the current value of the pointer.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>load</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.load"><code>AtomicBool::load</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_load_unordered.html" title='core::intrinsics::atomic_load_unordered fn'>atomic_load_unordered</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_max.html" title='core::intrinsics::atomic_max fn'>atomic_max</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_max_acq.html" title='core::intrinsics::atomic_max_acq fn'>atomic_max_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_max_acqrel.html" title='core::intrinsics::atomic_max_acqrel fn'>atomic_max_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_max_rel.html" title='core::intrinsics::atomic_max_rel fn'>atomic_max_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_max_relaxed.html" title='core::intrinsics::atomic_max_relaxed fn'>atomic_max_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_min.html" title='core::intrinsics::atomic_min fn'>atomic_min</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_min_acq.html" title='core::intrinsics::atomic_min_acq fn'>atomic_min_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_min_acqrel.html" title='core::intrinsics::atomic_min_acqrel fn'>atomic_min_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_min_rel.html" title='core::intrinsics::atomic_min_rel fn'>atomic_min_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_min_relaxed.html" title='core::intrinsics::atomic_min_relaxed fn'>atomic_min_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_nand.html" title='core::intrinsics::atomic_nand fn'>atomic_nand</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise nand with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic::AtomicBool</code> type via the <code>fetch_nand</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_nand"><code>AtomicBool::fetch_nand</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_nand_acq.html" title='core::intrinsics::atomic_nand_acq fn'>atomic_nand_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise nand with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic::AtomicBool</code> type via the <code>fetch_nand</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_nand"><code>AtomicBool::fetch_nand</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_nand_acqrel.html" title='core::intrinsics::atomic_nand_acqrel fn'>atomic_nand_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise nand with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic::AtomicBool</code> type via the <code>fetch_nand</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_nand"><code>AtomicBool::fetch_nand</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_nand_rel.html" title='core::intrinsics::atomic_nand_rel fn'>atomic_nand_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise nand with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic::AtomicBool</code> type via the <code>fetch_nand</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_nand"><code>AtomicBool::fetch_nand</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_nand_relaxed.html" title='core::intrinsics::atomic_nand_relaxed fn'>atomic_nand_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise nand with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic::AtomicBool</code> type via the <code>fetch_nand</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_nand"><code>AtomicBool::fetch_nand</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_or.html" title='core::intrinsics::atomic_or fn'>atomic_or</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise or with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_or</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_or"><code>AtomicBool::fetch_or</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_or_acq.html" title='core::intrinsics::atomic_or_acq fn'>atomic_or_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise or with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_or</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_or"><code>AtomicBool::fetch_or</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_or_acqrel.html" title='core::intrinsics::atomic_or_acqrel fn'>atomic_or_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise or with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_or</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_or"><code>AtomicBool::fetch_or</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_or_rel.html" title='core::intrinsics::atomic_or_rel fn'>atomic_or_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise or with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_or</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_or"><code>AtomicBool::fetch_or</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_or_relaxed.html" title='core::intrinsics::atomic_or_relaxed fn'>atomic_or_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise or with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_or</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_or"><code>AtomicBool::fetch_or</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_singlethreadfence.html" title='core::intrinsics::atomic_singlethreadfence fn'>atomic_singlethreadfence</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>A compiler-only memory barrier.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_singlethreadfence_acq.html" title='core::intrinsics::atomic_singlethreadfence_acq fn'>atomic_singlethreadfence_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_singlethreadfence_acqrel.html" title='core::intrinsics::atomic_singlethreadfence_acqrel fn'>atomic_singlethreadfence_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_singlethreadfence_rel.html" title='core::intrinsics::atomic_singlethreadfence_rel fn'>atomic_singlethreadfence_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_store.html" title='core::intrinsics::atomic_store fn'>atomic_store</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>store</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.store"><code>AtomicBool::store</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_store_rel.html" title='core::intrinsics::atomic_store_rel fn'>atomic_store_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>store</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.store"><code>AtomicBool::store</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_store_relaxed.html" title='core::intrinsics::atomic_store_relaxed fn'>atomic_store_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>store</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.store"><code>AtomicBool::store</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_store_unordered.html" title='core::intrinsics::atomic_store_unordered fn'>atomic_store_unordered</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umax.html" title='core::intrinsics::atomic_umax fn'>atomic_umax</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umax_acq.html" title='core::intrinsics::atomic_umax_acq fn'>atomic_umax_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umax_acqrel.html" title='core::intrinsics::atomic_umax_acqrel fn'>atomic_umax_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umax_rel.html" title='core::intrinsics::atomic_umax_rel fn'>atomic_umax_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umax_relaxed.html" title='core::intrinsics::atomic_umax_relaxed fn'>atomic_umax_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umin.html" title='core::intrinsics::atomic_umin fn'>atomic_umin</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umin_acq.html" title='core::intrinsics::atomic_umin_acq fn'>atomic_umin_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umin_acqrel.html" title='core::intrinsics::atomic_umin_acqrel fn'>atomic_umin_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umin_rel.html" title='core::intrinsics::atomic_umin_rel fn'>atomic_umin_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_umin_relaxed.html" title='core::intrinsics::atomic_umin_relaxed fn'>atomic_umin_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xadd.html" title='core::intrinsics::atomic_xadd fn'>atomic_xadd</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Adds to the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_add</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_add"><code>AtomicIsize::fetch_add</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xadd_acq.html" title='core::intrinsics::atomic_xadd_acq fn'>atomic_xadd_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Adds to the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_add</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_add"><code>AtomicIsize::fetch_add</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xadd_acqrel.html" title='core::intrinsics::atomic_xadd_acqrel fn'>atomic_xadd_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Adds to the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_add</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_add"><code>AtomicIsize::fetch_add</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xadd_rel.html" title='core::intrinsics::atomic_xadd_rel fn'>atomic_xadd_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Adds to the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_add</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_add"><code>AtomicIsize::fetch_add</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xadd_relaxed.html" title='core::intrinsics::atomic_xadd_relaxed fn'>atomic_xadd_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Adds to the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_add</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_add"><code>AtomicIsize::fetch_add</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xchg.html" title='core::intrinsics::atomic_xchg fn'>atomic_xchg</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location, returning the old value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>swap</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.swap"><code>AtomicBool::swap</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xchg_acq.html" title='core::intrinsics::atomic_xchg_acq fn'>atomic_xchg_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location, returning the old value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>swap</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.swap"><code>AtomicBool::swap</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xchg_acqrel.html" title='core::intrinsics::atomic_xchg_acqrel fn'>atomic_xchg_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location, returning the old value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>swap</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.swap"><code>AtomicBool::swap</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xchg_rel.html" title='core::intrinsics::atomic_xchg_rel fn'>atomic_xchg_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location, returning the old value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>swap</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.swap"><code>AtomicBool::swap</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xchg_relaxed.html" title='core::intrinsics::atomic_xchg_relaxed fn'>atomic_xchg_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Stores the value at the specified memory location, returning the old value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>swap</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.swap"><code>AtomicBool::swap</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xor.html" title='core::intrinsics::atomic_xor fn'>atomic_xor</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise xor with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_xor</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_xor"><code>AtomicBool::fetch_xor</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xor_acq.html" title='core::intrinsics::atomic_xor_acq fn'>atomic_xor_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise xor with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_xor</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_xor"><code>AtomicBool::fetch_xor</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xor_acqrel.html" title='core::intrinsics::atomic_xor_acqrel fn'>atomic_xor_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise xor with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_xor</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_xor"><code>AtomicBool::fetch_xor</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xor_rel.html" title='core::intrinsics::atomic_xor_rel fn'>atomic_xor_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise xor with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_xor</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_xor"><code>AtomicBool::fetch_xor</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xor_relaxed.html" title='core::intrinsics::atomic_xor_relaxed fn'>atomic_xor_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Bitwise xor with the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_xor</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicBool.html#method.fetch_xor"><code>AtomicBool::fetch_xor</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xsub.html" title='core::intrinsics::atomic_xsub fn'>atomic_xsub</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Subtract from the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_sub</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::SeqCst</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_sub"><code>AtomicIsize::fetch_sub</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xsub_acq.html" title='core::intrinsics::atomic_xsub_acq fn'>atomic_xsub_acq</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Subtract from the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_sub</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Acquire</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_sub"><code>AtomicIsize::fetch_sub</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xsub_acqrel.html" title='core::intrinsics::atomic_xsub_acqrel fn'>atomic_xsub_acqrel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Subtract from the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_sub</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::AcqRel</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_sub"><code>AtomicIsize::fetch_sub</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xsub_rel.html" title='core::intrinsics::atomic_xsub_rel fn'>atomic_xsub_rel</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Subtract from the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_sub</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Release</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_sub"><code>AtomicIsize::fetch_sub</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.atomic_xsub_relaxed.html" title='core::intrinsics::atomic_xsub_relaxed fn'>atomic_xsub_relaxed</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Subtract from the current value, returning the previous value.
The stabilized version of this intrinsic is available on the
<code>std::sync::atomic</code> types via the <code>fetch_sub</code> method by passing
<a href="../../std/sync/atomic/enum.Ordering.html"><code>Ordering::Relaxed</code></a>
as the <code>order</code>. For example,
<a href="../../std/sync/atomic/struct.AtomicIsize.html#method.fetch_sub"><code>AtomicIsize::fetch_sub</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.bitreverse.html" title='core::intrinsics::bitreverse fn'>bitreverse</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Reverses the bits in an integer type <code>T</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.breakpoint.html" title='core::intrinsics::breakpoint fn'>breakpoint</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Executes a breakpoint trap, for inspection by a debugger.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.bswap.html" title='core::intrinsics::bswap fn'>bswap</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Reverses the bytes in an integer type <code>T</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.ceilf32.html" title='core::intrinsics::ceilf32 fn'>ceilf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the smallest integer greater than or equal to an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.ceilf64.html" title='core::intrinsics::ceilf64 fn'>ceilf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the smallest integer greater than or equal to an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.copysignf32.html" title='core::intrinsics::copysignf32 fn'>copysignf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Copies the sign from <code>y</code> to <code>x</code> for <code>f32</code> values.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.copysignf64.html" title='core::intrinsics::copysignf64 fn'>copysignf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Copies the sign from <code>y</code> to <code>x</code> for <code>f64</code> values.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.cosf32.html" title='core::intrinsics::cosf32 fn'>cosf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the cosine of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.cosf64.html" title='core::intrinsics::cosf64 fn'>cosf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the cosine of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.ctlz.html" title='core::intrinsics::ctlz fn'>ctlz</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the number of leading unset bits (zeroes) in an integer type <code>T</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.ctlz_nonzero.html" title='core::intrinsics::ctlz_nonzero fn'>ctlz_nonzero</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Like <code>ctlz</code>, but extra-unsafe as it returns <code>undef</code> when
given an <code>x</code> with value <code>0</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.ctpop.html" title='core::intrinsics::ctpop fn'>ctpop</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the number of bits set in an integer type <code>T</code></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.cttz.html" title='core::intrinsics::cttz fn'>cttz</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the number of trailing unset bits (zeroes) in an integer type <code>T</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.cttz_nonzero.html" title='core::intrinsics::cttz_nonzero fn'>cttz_nonzero</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Like <code>cttz</code>, but extra-unsafe as it returns <code>undef</code> when
given an <code>x</code> with value <code>0</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.discriminant_value.html" title='core::intrinsics::discriminant_value fn'>discriminant_value</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the value of the discriminant for the variant in 'v',
cast to a <code>u64</code>; if <code>T</code> has no discriminant, returns 0.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.exact_div.html" title='core::intrinsics::exact_div fn'>exact_div</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs an exact division, resulting in undefined behavior where
<code>x % y != 0</code> or <code>y == 0</code> or <code>x == T::min_value() &amp;&amp; y == -1</code></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.exp2f32.html" title='core::intrinsics::exp2f32 fn'>exp2f32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns 2 raised to the power of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.exp2f64.html" title='core::intrinsics::exp2f64 fn'>exp2f64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns 2 raised to the power of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.expf32.html" title='core::intrinsics::expf32 fn'>expf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the exponential of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.expf64.html" title='core::intrinsics::expf64 fn'>expf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the exponential of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fabsf32.html" title='core::intrinsics::fabsf32 fn'>fabsf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the absolute value of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fabsf64.html" title='core::intrinsics::fabsf64 fn'>fabsf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the absolute value of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fadd_fast.html" title='core::intrinsics::fadd_fast fn'>fadd_fast</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Float addition that allows optimizations based on algebraic rules.
May assume inputs are finite.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fdiv_fast.html" title='core::intrinsics::fdiv_fast fn'>fdiv_fast</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Float division that allows optimizations based on algebraic rules.
May assume inputs are finite.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.floorf32.html" title='core::intrinsics::floorf32 fn'>floorf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the largest integer less than or equal to an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.floorf64.html" title='core::intrinsics::floorf64 fn'>floorf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the largest integer less than or equal to an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fmaf32.html" title='core::intrinsics::fmaf32 fn'>fmaf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns <code>a * b + c</code> for <code>f32</code> values.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fmaf64.html" title='core::intrinsics::fmaf64 fn'>fmaf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns <code>a * b + c</code> for <code>f64</code> values.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fmul_fast.html" title='core::intrinsics::fmul_fast fn'>fmul_fast</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Float multiplication that allows optimizations based on algebraic rules.
May assume inputs are finite.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.forget.html" title='core::intrinsics::forget fn'>forget</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Moves a value out of scope without running drop glue.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.frem_fast.html" title='core::intrinsics::frem_fast fn'>frem_fast</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Float remainder that allows optimizations based on algebraic rules.
May assume inputs are finite.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.fsub_fast.html" title='core::intrinsics::fsub_fast fn'>fsub_fast</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Float subtraction that allows optimizations based on algebraic rules.
May assume inputs are finite.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.init.html" title='core::intrinsics::init fn'>init</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Creates a value initialized to zero.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.likely.html" title='core::intrinsics::likely fn'>likely</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Hints to the compiler that branch condition is likely to be true.
Returns the value passed to it.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.log10f32.html" title='core::intrinsics::log10f32 fn'>log10f32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the base 10 logarithm of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.log10f64.html" title='core::intrinsics::log10f64 fn'>log10f64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the base 10 logarithm of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.log2f32.html" title='core::intrinsics::log2f32 fn'>log2f32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the base 2 logarithm of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.log2f64.html" title='core::intrinsics::log2f64 fn'>log2f64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the base 2 logarithm of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.logf32.html" title='core::intrinsics::logf32 fn'>logf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the natural logarithm of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.logf64.html" title='core::intrinsics::logf64 fn'>logf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the natural logarithm of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.min_align_of.html" title='core::intrinsics::min_align_of fn'>min_align_of</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.min_align_of_val.html" title='core::intrinsics::min_align_of_val fn'>min_align_of_val</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.move_val_init.html" title='core::intrinsics::move_val_init fn'>move_val_init</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Moves a value to an uninitialized memory location.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.mul_with_overflow.html" title='core::intrinsics::mul_with_overflow fn'>mul_with_overflow</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs checked integer multiplication
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>overflowing_mul</code> method. For example,
<a href="../../std/primitive.u32.html#method.overflowing_mul"><code>std::u32::overflowing_mul</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.nearbyintf32.html" title='core::intrinsics::nearbyintf32 fn'>nearbyintf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the nearest integer to an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.nearbyintf64.html" title='core::intrinsics::nearbyintf64 fn'>nearbyintf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the nearest integer to an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.needs_drop.html" title='core::intrinsics::needs_drop fn'>needs_drop</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns <code>true</code> if the actual type given as <code>T</code> requires drop
glue; returns <code>false</code> if the actual type provided for <code>T</code>
implements <code>Copy</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.nontemporal_store.html" title='core::intrinsics::nontemporal_store fn'>nontemporal_store</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Emits a <code>!nontemporal</code> store according to LLVM (see their docs).
Probably will never become stable.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.offset.html" title='core::intrinsics::offset fn'>offset</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Calculates the offset from a pointer.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.overflowing_add.html" title='core::intrinsics::overflowing_add fn'>overflowing_add</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns (a + b) mod 2<sup>N</sup>, where N is the width of T in bits.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>wrapping_add</code> method. For example,
<a href="../../std/primitive.u32.html#method.wrapping_add"><code>std::u32::wrapping_add</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.overflowing_mul.html" title='core::intrinsics::overflowing_mul fn'>overflowing_mul</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns (a * b) mod 2<sup>N</sup>, where N is the width of T in bits.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>wrapping_mul</code> method. For example,
<a href="../../std/primitive.u32.html#method.wrapping_mul"><code>std::u32::wrapping_mul</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.overflowing_sub.html" title='core::intrinsics::overflowing_sub fn'>overflowing_sub</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns (a - b) mod 2<sup>N</sup>, where N is the width of T in bits.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>wrapping_sub</code> method. For example,
<a href="../../std/primitive.u32.html#method.wrapping_sub"><code>std::u32::wrapping_sub</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.panic_if_uninhabited.html" title='core::intrinsics::panic_if_uninhabited fn'>panic_if_uninhabited</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>A guard for unsafe functions that cannot ever be executed if <code>T</code> is uninhabited:
This will statically either panic, or do nothing.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.powf32.html" title='core::intrinsics::powf32 fn'>powf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Raises an <code>f32</code> to an <code>f32</code> power.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.powf64.html" title='core::intrinsics::powf64 fn'>powf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Raises an <code>f64</code> to an <code>f64</code> power.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.powif32.html" title='core::intrinsics::powif32 fn'>powif32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Raises an <code>f32</code> to an integer power.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.powif64.html" title='core::intrinsics::powif64 fn'>powif64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Raises an <code>f64</code> to an integer power.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.pref_align_of.html" title='core::intrinsics::pref_align_of fn'>pref_align_of</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span></td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.prefetch_read_data.html" title='core::intrinsics::prefetch_read_data fn'>prefetch_read_data</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>The <code>prefetch</code> intrinsic is a hint to the code generator to insert a prefetch instruction
if supported; otherwise, it is a no-op.
Prefetches have no effect on the behavior of the program but can change its performance
characteristics.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.prefetch_read_instruction.html" title='core::intrinsics::prefetch_read_instruction fn'>prefetch_read_instruction</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>The <code>prefetch</code> intrinsic is a hint to the code generator to insert a prefetch instruction
if supported; otherwise, it is a no-op.
Prefetches have no effect on the behavior of the program but can change its performance
characteristics.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.prefetch_write_data.html" title='core::intrinsics::prefetch_write_data fn'>prefetch_write_data</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>The <code>prefetch</code> intrinsic is a hint to the code generator to insert a prefetch instruction
if supported; otherwise, it is a no-op.
Prefetches have no effect on the behavior of the program but can change its performance
characteristics.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.prefetch_write_instruction.html" title='core::intrinsics::prefetch_write_instruction fn'>prefetch_write_instruction</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>The <code>prefetch</code> intrinsic is a hint to the code generator to insert a prefetch instruction
if supported; otherwise, it is a no-op.
Prefetches have no effect on the behavior of the program but can change its performance
characteristics.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.rintf32.html" title='core::intrinsics::rintf32 fn'>rintf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the nearest integer to an <code>f32</code>. May raise an inexact floating-point exception
if the argument is not an integer.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.rintf64.html" title='core::intrinsics::rintf64 fn'>rintf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the nearest integer to an <code>f64</code>. May raise an inexact floating-point exception
if the argument is not an integer.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.rotate_left.html" title='core::intrinsics::rotate_left fn'>rotate_left</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs rotate left.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>rotate_left</code> method. For example,
<a href="../../std/primitive.u32.html#method.rotate_left"><code>std::u32::rotate_left</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.rotate_right.html" title='core::intrinsics::rotate_right fn'>rotate_right</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs rotate right.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>rotate_right</code> method. For example,
<a href="../../std/primitive.u32.html#method.rotate_right"><code>std::u32::rotate_right</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.roundf32.html" title='core::intrinsics::roundf32 fn'>roundf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the nearest integer to an <code>f32</code>. Rounds half-way cases away from zero.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.roundf64.html" title='core::intrinsics::roundf64 fn'>roundf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the nearest integer to an <code>f64</code>. Rounds half-way cases away from zero.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.rustc_peek.html" title='core::intrinsics::rustc_peek fn'>rustc_peek</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Magic intrinsic that derives its meaning from attributes
attached to the function.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.saturating_add.html" title='core::intrinsics::saturating_add fn'>saturating_add</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Computes <code>a + b</code>, while saturating at numeric bounds.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>saturating_add</code> method. For example,
<a href="../../std/primitive.u32.html#method.saturating_add"><code>std::u32::saturating_add</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.saturating_sub.html" title='core::intrinsics::saturating_sub fn'>saturating_sub</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Computes <code>a - b</code>, while saturating at numeric bounds.
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>saturating_sub</code> method. For example,
<a href="../../std/primitive.u32.html#method.saturating_sub"><code>std::u32::saturating_sub</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.sinf32.html" title='core::intrinsics::sinf32 fn'>sinf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the sine of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.sinf64.html" title='core::intrinsics::sinf64 fn'>sinf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the sine of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.size_of.html" title='core::intrinsics::size_of fn'>size_of</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>The size of a type in bytes.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.size_of_val.html" title='core::intrinsics::size_of_val fn'>size_of_val</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>The size of the referenced value in bytes.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.sqrtf32.html" title='core::intrinsics::sqrtf32 fn'>sqrtf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the square root of an <code>f32</code></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.sqrtf64.html" title='core::intrinsics::sqrtf64 fn'>sqrtf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the square root of an <code>f64</code></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.sub_with_overflow.html" title='core::intrinsics::sub_with_overflow fn'>sub_with_overflow</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs checked integer subtraction
The stabilized versions of this intrinsic are available on the integer
primitives via the <code>overflowing_sub</code> method. For example,
<a href="../../std/primitive.u32.html#method.overflowing_sub"><code>std::u32::overflowing_sub</code></a></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.truncf32.html" title='core::intrinsics::truncf32 fn'>truncf32</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the integer part of an <code>f32</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.truncf64.html" title='core::intrinsics::truncf64 fn'>truncf64</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the integer part of an <code>f64</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.try.html" title='core::intrinsics::try fn'>try</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Rust's &quot;try catch&quot; construct which invokes the function pointer <code>f</code> with
the data pointer <code>data</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.type_id.html" title='core::intrinsics::type_id fn'>type_id</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Gets an identifier which is globally unique to the specified type. This
function will return the same value for a type regardless of whichever
crate it is invoked in.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.type_name.html" title='core::intrinsics::type_name fn'>type_name</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Gets a static string slice containing the name of a type.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unaligned_volatile_load.html" title='core::intrinsics::unaligned_volatile_load fn'>unaligned_volatile_load</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs a volatile load from the <code>src</code> pointer
The pointer is not required to be aligned.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unaligned_volatile_store.html" title='core::intrinsics::unaligned_volatile_store fn'>unaligned_volatile_store</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs a volatile store to the <code>dst</code> pointer.
The pointer is not required to be aligned.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unchecked_div.html" title='core::intrinsics::unchecked_div fn'>unchecked_div</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs an unchecked division, resulting in undefined behavior
where y = 0 or x = <code>T::min_value()</code> and y = -1</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unchecked_rem.html" title='core::intrinsics::unchecked_rem fn'>unchecked_rem</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Returns the remainder of an unchecked division, resulting in
undefined behavior where y = 0 or x = <code>T::min_value()</code> and y = -1</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unchecked_shl.html" title='core::intrinsics::unchecked_shl fn'>unchecked_shl</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs an unchecked left shift, resulting in undefined behavior when
y &lt; 0 or y &gt;= N, where N is the width of T in bits.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unchecked_shr.html" title='core::intrinsics::unchecked_shr fn'>unchecked_shr</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs an unchecked right shift, resulting in undefined behavior when
y &lt; 0 or y &gt;= N, where N is the width of T in bits.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.uninit.html" title='core::intrinsics::uninit fn'>uninit</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Creates an uninitialized value.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unlikely.html" title='core::intrinsics::unlikely fn'>unlikely</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Hints to the compiler that branch condition is likely to be false.
Returns the value passed to it.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.unreachable.html" title='core::intrinsics::unreachable fn'>unreachable</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Tells LLVM that this point in the code is not reachable, enabling
further optimizations.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.volatile_copy_memory.html" title='core::intrinsics::volatile_copy_memory fn'>volatile_copy_memory</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Equivalent to the appropriate <code>llvm.memmove.p0i8.0i8.*</code> intrinsic, with
a size of <code>count</code> * <code>size_of::&lt;T&gt;()</code> and an alignment of
<code>min_align_of::&lt;T&gt;()</code></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.volatile_copy_nonoverlapping_memory.html" title='core::intrinsics::volatile_copy_nonoverlapping_memory fn'>volatile_copy_nonoverlapping_memory</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Equivalent to the appropriate <code>llvm.memcpy.p0i8.0i8.*</code> intrinsic, with
a size of <code>count</code> * <code>size_of::&lt;T&gt;()</code> and an alignment of
<code>min_align_of::&lt;T&gt;()</code></p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.volatile_load.html" title='core::intrinsics::volatile_load fn'>volatile_load</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs a volatile load from the <code>src</code> pointer.
The stabilized version of this intrinsic is
<a href="../../std/ptr/fn.read_volatile.html"><code>std::ptr::read_volatile</code></a>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.volatile_set_memory.html" title='core::intrinsics::volatile_set_memory fn'>volatile_set_memory</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Equivalent to the appropriate <code>llvm.memset.p0i8.*</code> intrinsic, with a
size of <code>count</code> * <code>size_of::&lt;T&gt;()</code> and an alignment of
<code>min_align_of::&lt;T&gt;()</code>.</p>
</td></tr><tr class='unstable module-item'><td><a class="fn" href="fn.volatile_store.html" title='core::intrinsics::volatile_store fn'>volatile_store</a><a title='unsafe function' href='#'><sup>⚠</sup></a></td><td class='docblock-short'><span class="stab unstable">Experimental</span><p>Performs a volatile store to the <code>dst</code> pointer.
The stabilized version of this intrinsic is
<a href="../../std/ptr/fn.write_volatile.html"><code>std::ptr::write_volatile</code></a>.</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 = "core";</script><script src="../../aliases.js"></script><script src="../../main1.35.0.js"></script><script defer src="../../search-index.js"></script></body></html>