blob: 59bf4c7b7e5c5236ca60377e38706ec44925099d [file] [log] [blame]
<!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="Structured Extended Feature Identifiers (LEAF=0x07)."><meta name="keywords" content="rust, rustlang, rust-lang, ExtendedFeatures"><title>ExtendedFeatures in raw_cpuid - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../normalize.css"><link rel="stylesheet" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../ayu.css" disabled><link rel="stylesheet" href="../dark.css" disabled><link rel="stylesheet" href="../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../main.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../raw_cpuid/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../raw_cpuid/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">ExtendedFeatures</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.has_adx">has_adx</a></li><li><a href="#method.has_av512vbmi2">has_av512vbmi2</a></li><li><a href="#method.has_avx2">has_avx2</a></li><li><a href="#method.has_avx512_ifma">has_avx512_ifma</a></li><li><a href="#method.has_avx512bitalg">has_avx512bitalg</a></li><li><a href="#method.has_avx512bw">has_avx512bw</a></li><li><a href="#method.has_avx512cd">has_avx512cd</a></li><li><a href="#method.has_avx512dq">has_avx512dq</a></li><li><a href="#method.has_avx512er">has_avx512er</a></li><li><a href="#method.has_avx512f">has_avx512f</a></li><li><a href="#method.has_avx512pf">has_avx512pf</a></li><li><a href="#method.has_avx512vl">has_avx512vl</a></li><li><a href="#method.has_avx512vnni">has_avx512vnni</a></li><li><a href="#method.has_avx512vpopcntdq">has_avx512vpopcntdq</a></li><li><a href="#method.has_bmi1">has_bmi1</a></li><li><a href="#method.has_bmi2">has_bmi2</a></li><li><a href="#method.has_cet_ss">has_cet_ss</a></li><li><a href="#method.has_clflushopt">has_clflushopt</a></li><li><a href="#method.has_clwb">has_clwb</a></li><li><a href="#method.has_fdp">has_fdp</a></li><li><a href="#method.has_fpu_cs_ds_deprecated">has_fpu_cs_ds_deprecated</a></li><li><a href="#method.has_fsgsbase">has_fsgsbase</a></li><li><a href="#method.has_gfni">has_gfni</a></li><li><a href="#method.has_hle">has_hle</a></li><li><a href="#method.has_invpcid">has_invpcid</a></li><li><a href="#method.has_la57">has_la57</a></li><li><a href="#method.has_mpx">has_mpx</a></li><li><a href="#method.has_ospke">has_ospke</a></li><li><a href="#method.has_pku">has_pku</a></li><li><a href="#method.has_prefetchwt1">has_prefetchwt1</a></li><li><a href="#method.has_processor_trace">has_processor_trace</a></li><li><a href="#method.has_rdpid">has_rdpid</a></li><li><a href="#method.has_rdseed">has_rdseed</a></li><li><a href="#method.has_rdta">has_rdta</a></li><li><a href="#method.has_rdtm">has_rdtm</a></li><li><a href="#method.has_rep_movsb_stosb">has_rep_movsb_stosb</a></li><li><a href="#method.has_rtm">has_rtm</a></li><li><a href="#method.has_sgx">has_sgx</a></li><li><a href="#method.has_sgx_lc">has_sgx_lc</a></li><li><a href="#method.has_sha">has_sha</a></li><li><a href="#method.has_smap">has_smap</a></li><li><a href="#method.has_smep">has_smep</a></li><li><a href="#method.has_tme_en">has_tme_en</a></li><li><a href="#method.has_tsc_adjust_msr">has_tsc_adjust_msr</a></li><li><a href="#method.has_umip">has_umip</a></li><li><a href="#method.has_vaes">has_vaes</a></li><li><a href="#method.has_vpclmulqdq">has_vpclmulqdq</a></li><li><a href="#method.has_waitpkg">has_waitpkg</a></li><li><a href="#method.mawau_value">mawau_value</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-ExtendedFeatures">Debug</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-ExtendedFeatures">RefUnwindSafe</a></li><li><a href="#impl-Send-for-ExtendedFeatures">Send</a></li><li><a href="#impl-Sync-for-ExtendedFeatures">Sync</a></li><li><a href="#impl-Unpin-for-ExtendedFeatures">Unpin</a></li><li><a href="#impl-UnwindSafe-for-ExtendedFeatures">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-ExtendedFeatures">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-ExtendedFeatures">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-ExtendedFeatures">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-ExtendedFeatures">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-ExtendedFeatures">Into&lt;U&gt;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-ExtendedFeatures">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-ExtendedFeatures">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In raw_cpuid</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="index.html">raw_cpuid</a>::<wbr><a class="struct" href="#">ExtendedFeatures</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../src/raw_cpuid/lib.rs.html#3243-3248">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct ExtendedFeatures { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Structured Extended Feature Identifiers (LEAF=0x07).</p>
<h2 id="platforms"><a href="#platforms">Platforms</a></h2>
<p>🟡 AMD ✅ Intel</p>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3250-3694">source</a><a href="#impl-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl <a class="struct" href="struct.ExtendedFeatures.html" title="struct raw_cpuid::ExtendedFeatures">ExtendedFeatures</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_fsgsbase" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3256-3258">source</a><h4 class="code-header">pub const fn <a href="#method.has_fsgsbase" class="fnname">has_fsgsbase</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>FSGSBASE. Supports RDFSBASE/RDGSBASE/WRFSBASE/WRGSBASE if 1.</p>
<h5 id="platforms-1"><a href="#platforms-1">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_tsc_adjust_msr" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3265-3267">source</a><h4 class="code-header">pub const fn <a href="#method.has_tsc_adjust_msr" class="fnname">has_tsc_adjust_msr</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>IA32_TSC_ADJUST MSR is supported if 1.</p>
<h5 id="platforms-2"><a href="#platforms-2">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_bmi1" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3274-3276">source</a><h4 class="code-header">pub const fn <a href="#method.has_bmi1" class="fnname">has_bmi1</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>BMI1</p>
<h5 id="platforms-3"><a href="#platforms-3">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_hle" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3283-3285">source</a><h4 class="code-header">pub const fn <a href="#method.has_hle" class="fnname">has_hle</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>HLE</p>
<h5 id="platforms-4"><a href="#platforms-4">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx2" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3292-3294">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx2" class="fnname">has_avx2</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX2</p>
<h5 id="platforms-5"><a href="#platforms-5">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_fdp" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3302-3304">source</a><h4 class="code-header">pub const fn <a href="#method.has_fdp" class="fnname">has_fdp</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>FDP_EXCPTN_ONLY. x87 FPU Data Pointer updated only on x87 exceptions if
1.</p>
<h5 id="platforms-6"><a href="#platforms-6">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_smep" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3311-3313">source</a><h4 class="code-header">pub const fn <a href="#method.has_smep" class="fnname">has_smep</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>SMEP. Supports Supervisor-Mode Execution Prevention if 1.</p>
<h5 id="platforms-7"><a href="#platforms-7">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_bmi2" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3320-3322">source</a><h4 class="code-header">pub const fn <a href="#method.has_bmi2" class="fnname">has_bmi2</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>BMI2</p>
<h5 id="platforms-8"><a href="#platforms-8">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_rep_movsb_stosb" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3329-3331">source</a><h4 class="code-header">pub const fn <a href="#method.has_rep_movsb_stosb" class="fnname">has_rep_movsb_stosb</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports Enhanced REP MOVSB/STOSB if 1.</p>
<h5 id="platforms-9"><a href="#platforms-9">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_invpcid" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3339-3341">source</a><h4 class="code-header">pub const fn <a href="#method.has_invpcid" class="fnname">has_invpcid</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>INVPCID. If 1, supports INVPCID instruction for system software that
manages process-context identifiers.</p>
<h5 id="platforms-10"><a href="#platforms-10">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_rtm" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3348-3350">source</a><h4 class="code-header">pub const fn <a href="#method.has_rtm" class="fnname">has_rtm</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>RTM</p>
<h5 id="platforms-11"><a href="#platforms-11">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_rdtm" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3357-3359">source</a><h4 class="code-header">pub const fn <a href="#method.has_rdtm" class="fnname">has_rdtm</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports Intel Resource Director Technology (RDT) Monitoring capability.</p>
<h5 id="platforms-12"><a href="#platforms-12">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_fpu_cs_ds_deprecated" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3366-3368">source</a><h4 class="code-header">pub const fn <a href="#method.has_fpu_cs_ds_deprecated" class="fnname">has_fpu_cs_ds_deprecated</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Deprecates FPU CS and FPU DS values if 1.</p>
<h5 id="platforms-13"><a href="#platforms-13">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_mpx" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3375-3377">source</a><h4 class="code-header">pub const fn <a href="#method.has_mpx" class="fnname">has_mpx</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>MPX. Supports Intel Memory Protection Extensions if 1.</p>
<h5 id="platforms-14"><a href="#platforms-14">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_rdta" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3384-3386">source</a><h4 class="code-header">pub const fn <a href="#method.has_rdta" class="fnname">has_rdta</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports Intel Resource Director Technology (RDT) Allocation capability.</p>
<h5 id="platforms-15"><a href="#platforms-15">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_rdseed" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3393-3395">source</a><h4 class="code-header">pub const fn <a href="#method.has_rdseed" class="fnname">has_rdseed</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports RDSEED.</p>
<h5 id="platforms-16"><a href="#platforms-16">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_adx" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3402-3404">source</a><h4 class="code-header">pub const fn <a href="#method.has_adx" class="fnname">has_adx</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports ADX.</p>
<h5 id="platforms-17"><a href="#platforms-17">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_smap" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3412-3414">source</a><h4 class="code-header">pub const fn <a href="#method.has_smap" class="fnname">has_smap</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>SMAP. Supports Supervisor-Mode Access Prevention (and the CLAC/STAC
instructions) if 1.</p>
<h5 id="platforms-18"><a href="#platforms-18">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_clflushopt" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3421-3423">source</a><h4 class="code-header">pub const fn <a href="#method.has_clflushopt" class="fnname">has_clflushopt</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports CLFLUSHOPT.</p>
<h5 id="platforms-19"><a href="#platforms-19">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_processor_trace" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3430-3432">source</a><h4 class="code-header">pub const fn <a href="#method.has_processor_trace" class="fnname">has_processor_trace</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports Intel Processor Trace.</p>
<h5 id="platforms-20"><a href="#platforms-20">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_sha" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3439-3441">source</a><h4 class="code-header">pub const fn <a href="#method.has_sha" class="fnname">has_sha</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports SHA Instructions.</p>
<h5 id="platforms-21"><a href="#platforms-21">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_sgx" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3448-3450">source</a><h4 class="code-header">pub const fn <a href="#method.has_sgx" class="fnname">has_sgx</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports Intel® Software Guard Extensions (Intel® SGX Extensions).</p>
<h5 id="platforms-22"><a href="#platforms-22">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512f" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3457-3459">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512f" class="fnname">has_avx512f</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports AVX512F.</p>
<h5 id="platforms-23"><a href="#platforms-23">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512dq" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3466-3468">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512dq" class="fnname">has_avx512dq</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports AVX512DQ.</p>
<h5 id="platforms-24"><a href="#platforms-24">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512_ifma" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3475-3477">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512_ifma" class="fnname">has_avx512_ifma</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512_IFMA</p>
<h5 id="platforms-25"><a href="#platforms-25">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512pf" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3484-3486">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512pf" class="fnname">has_avx512pf</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512PF</p>
<h5 id="platforms-26"><a href="#platforms-26">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512er" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3493-3495">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512er" class="fnname">has_avx512er</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512ER</p>
<h5 id="platforms-27"><a href="#platforms-27">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512cd" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3502-3504">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512cd" class="fnname">has_avx512cd</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512CD</p>
<h5 id="platforms-28"><a href="#platforms-28">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512bw" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3511-3513">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512bw" class="fnname">has_avx512bw</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512BW</p>
<h5 id="platforms-29"><a href="#platforms-29">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512vl" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3520-3522">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512vl" class="fnname">has_avx512vl</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512VL</p>
<h5 id="platforms-30"><a href="#platforms-30">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_clwb" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3529-3531">source</a><h4 class="code-header">pub const fn <a href="#method.has_clwb" class="fnname">has_clwb</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>CLWB</p>
<h5 id="platforms-31"><a href="#platforms-31">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_prefetchwt1" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3538-3540">source</a><h4 class="code-header">pub const fn <a href="#method.has_prefetchwt1" class="fnname">has_prefetchwt1</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Has PREFETCHWT1 (Intel® Xeon Phi™ only).</p>
<h5 id="platforms-32"><a href="#platforms-32">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_umip" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3547-3549">source</a><h4 class="code-header">pub const fn <a href="#method.has_umip" class="fnname">has_umip</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports user-mode instruction prevention if 1.</p>
<h5 id="platforms-33"><a href="#platforms-33">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_pku" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3556-3558">source</a><h4 class="code-header">pub const fn <a href="#method.has_pku" class="fnname">has_pku</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports protection keys for user-mode pages.</p>
<h5 id="platforms-34"><a href="#platforms-34">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_ospke" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3566-3568">source</a><h4 class="code-header">pub const fn <a href="#method.has_ospke" class="fnname">has_ospke</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>OS has set CR4.PKE to enable protection keys (and the RDPKRU/WRPKRU
instructions.</p>
<h5 id="platforms-35"><a href="#platforms-35">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_waitpkg" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3574-3576">source</a><h4 class="code-header">pub const fn <a href="#method.has_waitpkg" class="fnname">has_waitpkg</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>WAITPKG</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_av512vbmi2" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3582-3584">source</a><h4 class="code-header">pub const fn <a href="#method.has_av512vbmi2" class="fnname">has_av512vbmi2</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512VBMI2</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_cet_ss" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3592-3594">source</a><h4 class="code-header">pub const fn <a href="#method.has_cet_ss" class="fnname">has_cet_ss</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports CET shadow stack features. Processors that set this bit define bits 0..2 of the
IA32_U_CET and IA32_S_CET MSRs. Enumerates support for the following MSRs:
IA32_INTERRUPT_SPP_TABLE_ADDR, IA32_PL3_SSP, IA32_PL2_SSP, IA32_PL1_SSP, and IA32_PL0_SSP.</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_gfni" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3600-3602">source</a><h4 class="code-header">pub const fn <a href="#method.has_gfni" class="fnname">has_gfni</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>GFNI</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_vaes" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3608-3610">source</a><h4 class="code-header">pub const fn <a href="#method.has_vaes" class="fnname">has_vaes</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>VAES</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_vpclmulqdq" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3616-3618">source</a><h4 class="code-header">pub const fn <a href="#method.has_vpclmulqdq" class="fnname">has_vpclmulqdq</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>VPCLMULQDQ</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512vnni" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3625-3627">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512vnni" class="fnname">has_avx512vnni</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512VNNI</p>
<h5 id="platforms-36"><a href="#platforms-36">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512bitalg" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3633-3635">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512bitalg" class="fnname">has_avx512bitalg</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512BITALG</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_tme_en" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3642-3644">source</a><h4 class="code-header">pub const fn <a href="#method.has_tme_en" class="fnname">has_tme_en</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Indicates the following MSRs are supported: IA32_TME_CAPABILITY, IA32_TME_ACTIVATE,
IA32_TME_EXCLUDE_MASK, and IA32_TME_EXCLUDE_BASE.</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_avx512vpopcntdq" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3650-3652">source</a><h4 class="code-header">pub const fn <a href="#method.has_avx512vpopcntdq" class="fnname">has_avx512vpopcntdq</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>AVX512VPOPCNTDQ</p>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_la57" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3659-3661">source</a><h4 class="code-header">pub const fn <a href="#method.has_la57" class="fnname">has_la57</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports 57-bit linear addresses and five-level paging if 1.</p>
<h5 id="platforms-37"><a href="#platforms-37">Platforms</a></h5>
<p>❓ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_rdpid" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3673-3675">source</a><h4 class="code-header">pub const fn <a href="#method.has_rdpid" class="fnname">has_rdpid</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>RDPID and IA32_TSC_AUX are available.</p>
<h5 id="bug"><a href="#bug">Bug</a></h5>
<p>The Intel manual lists RDPID as bit 22 in the ECX register, but AMD
lists it as bit 22 in the ebx register. We assumed that the AMD manual
was wrong and query ecx, let’s see what happens.</p>
<h5 id="platforms-38"><a href="#platforms-38">Platforms</a></h5>
<p>✅ AMD ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.has_sgx_lc" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3682-3684">source</a><h4 class="code-header">pub const fn <a href="#method.has_sgx_lc" class="fnname">has_sgx_lc</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Supports SGX Launch Configuration.</p>
<h5 id="platforms-39"><a href="#platforms-39">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mawau_value" class="method has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3691-3693">source</a><h4 class="code-header">pub fn <a href="#method.mawau_value" class="fnname">mawau_value</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u8.html">u8</a></h4></section></summary><div class="docblock"><p>The value of MAWAU used by the BNDLDX and BNDSTX instructions in 64-bit mode.</p>
<h5 id="platforms-40"><a href="#platforms-40">Platforms</a></h5>
<p>❌ AMD (reserved) ✅ Intel</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3696-3704">source</a><a href="#impl-Debug-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.ExtendedFeatures.html" title="struct raw_cpuid::ExtendedFeatures">ExtendedFeatures</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../src/raw_cpuid/lib.rs.html#3697-3703">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fnname">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-ExtendedFeatures" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.ExtendedFeatures.html" title="struct raw_cpuid::ExtendedFeatures">ExtendedFeatures</a></h3></section><section id="impl-Send-for-ExtendedFeatures" class="impl has-srclink"><a href="#impl-Send-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.ExtendedFeatures.html" title="struct raw_cpuid::ExtendedFeatures">ExtendedFeatures</a></h3></section><section id="impl-Sync-for-ExtendedFeatures" class="impl has-srclink"><a href="#impl-Sync-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.ExtendedFeatures.html" title="struct raw_cpuid::ExtendedFeatures">ExtendedFeatures</a></h3></section><section id="impl-Unpin-for-ExtendedFeatures" class="impl has-srclink"><a href="#impl-Unpin-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.ExtendedFeatures.html" title="struct raw_cpuid::ExtendedFeatures">ExtendedFeatures</a></h3></section><section id="impl-UnwindSafe-for-ExtendedFeatures" class="impl has-srclink"><a href="#impl-UnwindSafe-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.ExtendedFeatures.html" title="struct raw_cpuid::ExtendedFeatures">ExtendedFeatures</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#200">source</a><a href="#impl-Any-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#201">source</a><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a><a href="#impl-Borrow%3CT%3E-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220">source</a><a href="#impl-BorrowMut%3CT%3E-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221">source</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fnname">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;mut </a>T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#733">source</a><a href="#impl-From%3CT%3E-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#736">source</a></span><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from" class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#717">source</a><a href="#impl-Into%3CU%3E-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#725">source</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into" class="fnname">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#775">source</a><a href="#impl-TryFrom%3CU%3E-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#781">source</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from" class="fnname">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-ExtendedFeatures" class="impl has-srclink"><a class="srclink rightside" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#760">source</a><a href="#impl-TryInto%3CU%3E-for-ExtendedFeatures" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#766">source</a></span><a href="#method.try_into" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into" class="fnname">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="raw_cpuid" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>