wasmer/rustdoc/inkwell/values/struct.InstructionValue.html
2019-09-06 15:57:44 -07:00

236 lines
70 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 `InstructionValue` struct in crate `inkwell`."><meta name="keywords" content="rust, rustlang, rust-lang, InstructionValue"><title>inkwell::values::InstructionValue - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[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='../../inkwell/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Struct InstructionValue</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.erase_from_basic_block">erase_from_basic_block</a><a href="#method.get_fcmp_predicate">get_fcmp_predicate</a><a href="#method.get_first_use">get_first_use</a><a href="#method.get_icmp_predicate">get_icmp_predicate</a><a href="#method.get_next_instruction">get_next_instruction</a><a href="#method.get_num_operands">get_num_operands</a><a href="#method.get_opcode">get_opcode</a><a href="#method.get_operand">get_operand</a><a href="#method.get_operand_use">get_operand_use</a><a href="#method.get_parent">get_parent</a><a href="#method.get_previous_instruction">get_previous_instruction</a><a href="#method.get_volatile">get_volatile</a><a href="#method.is_tail_call">is_tail_call</a><a href="#method.remove_from_basic_block">remove_from_basic_block</a><a href="#method.replace_all_uses_with">replace_all_uses_with</a><a href="#method.set_operand">set_operand</a><a href="#method.set_volatile">set_volatile</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-AnyValue">AnyValue</a><a href="#impl-Clone">Clone</a><a href="#impl-Copy">Copy</a><a href="#impl-Debug">Debug</a><a href="#impl-Eq">Eq</a><a href="#impl-From%3CInstructionValue%3E">From&lt;InstructionValue&gt;</a><a href="#impl-Hash">Hash</a><a href="#impl-PartialEq%3CAnyValueEnum%3E">PartialEq&lt;AnyValueEnum&gt;</a><a href="#impl-PartialEq%3CInstructionValue%3E">PartialEq&lt;InstructionValue&gt;</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><p class='location'><a href='../index.html'>inkwell</a>::<wbr><a href='index.html'>values</a></p><script>window.sidebarCurrent = {name: 'InstructionValue', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#96-98' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../index.html'>inkwell</a>::<wbr><a href='index.html'>values</a>::<wbr><a class="struct" href=''>InstructionValue</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct InstructionValue { /* fields omitted */ }</pre></div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#100-518' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.get_opcode' class="method"><code id='get_opcode.v'>pub fn <a href='#method.get_opcode' class='fnname'>get_opcode</a>(&amp;self) -&gt; <a class="enum" href="../../inkwell/values/enum.InstructionOpcode.html" title="enum inkwell::values::InstructionOpcode">InstructionOpcode</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#113-119' title='goto source code'>[src]</a></h4><h4 id='method.get_previous_instruction' class="method"><code id='get_previous_instruction.v'>pub fn <a href='#method.get_previous_instruction' class='fnname'>get_previous_instruction</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#121-131' title='goto source code'>[src]</a></h4><h4 id='method.get_next_instruction' class="method"><code id='get_next_instruction.v'>pub fn <a href='#method.get_next_instruction' class='fnname'>get_next_instruction</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#133-143' title='goto source code'>[src]</a></h4><h4 id='method.erase_from_basic_block' class="method"><code id='erase_from_basic_block.v'>pub fn <a href='#method.erase_from_basic_block' class='fnname'>erase_from_basic_block</a>(&amp;self)</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#146-150' title='goto source code'>[src]</a></h4><h4 id='method.remove_from_basic_block' class="method"><code id='remove_from_basic_block.v'>pub fn <a href='#method.remove_from_basic_block' class='fnname'>remove_from_basic_block</a>(&amp;self)</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#154-158' title='goto source code'>[src]</a></h4><h4 id='method.get_parent' class="method"><code id='get_parent.v'>pub fn <a href='#method.get_parent' class='fnname'>get_parent</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../inkwell/basic_block/struct.BasicBlock.html" title="struct inkwell::basic_block::BasicBlock">BasicBlock</a>&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#165-171' title='goto source code'>[src]</a></h4><h4 id='method.is_tail_call' class="method"><code id='is_tail_call.v'>pub fn <a href='#method.is_tail_call' class='fnname'>is_tail_call</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#175-179' title='goto source code'>[src]</a></h4><h4 id='method.replace_all_uses_with' class="method"><code id='replace_all_uses_with.v'>pub fn <a href='#method.replace_all_uses_with' class='fnname'>replace_all_uses_with</a>(&amp;self, other: &amp;<a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>)</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#181-183' title='goto source code'>[src]</a></h4><h4 id='method.get_volatile' class="method"><code id='get_volatile.v'>pub fn <a href='#method.get_volatile' class='fnname'>get_volatile</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#187-191' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns whether or not a memory access instruction is volatile.</p>
</div><h4 id='method.set_volatile' class="method"><code id='set_volatile.v'>pub fn <a href='#method.set_volatile' class='fnname'>set_volatile</a>(&amp;self, volatile: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>)</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#195-199' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets whether or not a memory access instruction is volatile.</p>
</div><h4 id='method.get_num_operands' class="method"><code id='get_num_operands.v'>pub fn <a href='#method.get_num_operands' class='fnname'>get_num_operands</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#257-261' title='goto source code'>[src]</a></h4><div class='docblock'><p>Obtains the number of operands an <code>InstructionValue</code> has.
An operand is a <code>BasicValue</code> used in an IR instruction.</p>
<p>The following example,</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">AddressSpace</span>;
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">context</span>::<span class="ident">Context</span>;
<span class="kw">let</span> <span class="ident">context</span> <span class="op">=</span> <span class="ident">Context</span>::<span class="ident">create</span>();
<span class="kw">let</span> <span class="ident">module</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_module</span>(<span class="string">&quot;ivs&quot;</span>);
<span class="kw">let</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_builder</span>();
<span class="kw">let</span> <span class="ident">void_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">void_type</span>();
<span class="kw">let</span> <span class="ident">f32_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">f32_type</span>();
<span class="kw">let</span> <span class="ident">f32_ptr_type</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">ptr_type</span>(<span class="ident">AddressSpace</span>::<span class="ident">Generic</span>);
<span class="kw">let</span> <span class="ident">fn_type</span> <span class="op">=</span> <span class="ident">void_type</span>.<span class="ident">fn_type</span>(<span class="kw-2">&amp;</span>[<span class="ident">f32_ptr_type</span>.<span class="ident">into</span>()], <span class="bool-val">false</span>);
<span class="kw">let</span> <span class="ident">function</span> <span class="op">=</span> <span class="ident">module</span>.<span class="ident">add_function</span>(<span class="string">&quot;take_f32_ptr&quot;</span>, <span class="ident">fn_type</span>, <span class="prelude-val">None</span>);
<span class="kw">let</span> <span class="ident">basic_block</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">append_basic_block</span>(<span class="kw-2">&amp;</span><span class="ident">function</span>, <span class="string">&quot;entry&quot;</span>);
<span class="ident">builder</span>.<span class="ident">position_at_end</span>(<span class="kw-2">&amp;</span><span class="ident">basic_block</span>);
<span class="kw">let</span> <span class="ident">arg1</span> <span class="op">=</span> <span class="ident">function</span>.<span class="ident">get_first_param</span>().<span class="ident">unwrap</span>().<span class="ident">into_pointer_value</span>();
<span class="kw">let</span> <span class="ident">f32_val</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">const_float</span>(::<span class="ident">std</span>::<span class="ident">f64</span>::<span class="ident">consts</span>::<span class="ident">PI</span>);
<span class="kw">let</span> <span class="ident">store_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_store</span>(<span class="ident">arg1</span>, <span class="ident">f32_val</span>);
<span class="kw">let</span> <span class="ident">free_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_free</span>(<span class="ident">arg1</span>);
<span class="kw">let</span> <span class="ident">return_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_return</span>(<span class="prelude-val">None</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">store_instruction</span>.<span class="ident">get_num_operands</span>(), <span class="number">2</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">free_instruction</span>.<span class="ident">get_num_operands</span>(), <span class="number">2</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">return_instruction</span>.<span class="ident">get_num_operands</span>(), <span class="number">0</span>);</pre></div>
<p>will generate LLVM IR roughly like (varying slightly across LLVM versions):</p>
<pre><code class="language-ir">; ModuleID = 'ivs'
source_filename = &quot;ivs&quot;
define void @take_f32_ptr(float* %0) {
entry:
store float 0x400921FB60000000, float* %0
%1 = bitcast float* %0 to i8*
tail call void @free(i8* %1)
ret void
}
declare void @free(i8*)
</code></pre>
<p>which makes the number of instruction operands clear:</p>
<ol>
<li>Store has two: a const float and a variable float pointer %0</li>
<li>Bitcast has one: a variable float pointer %0</li>
<li>Function call has two: i8 pointer %1 argument, and the free function itself</li>
<li>Void return has zero: void is not a value and does not count as an operand
even though the return instruction can take values.</li>
</ol>
</div><h4 id='method.get_operand' class="method"><code id='get_operand.v'>pub fn <a href='#method.get_operand' class='fnname'>get_operand</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a><br>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../either/enum.Either.html" title="enum either::Either">Either</a>&lt;<a class="enum" href="../../inkwell/values/enum.BasicValueEnum.html" title="enum inkwell::values::BasicValueEnum">BasicValueEnum</a>, <a class="struct" href="../../inkwell/basic_block/struct.BasicBlock.html" title="struct inkwell::basic_block::BasicBlock">BasicBlock</a>&gt;&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#324-352' title='goto source code'>[src]</a></h4><div class='docblock'><p>Obtains the operand an <code>InstructionValue</code> has at a given index if any.
An operand is a <code>BasicValue</code> used in an IR instruction.</p>
<p>The following example,</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">AddressSpace</span>;
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">context</span>::<span class="ident">Context</span>;
<span class="kw">let</span> <span class="ident">context</span> <span class="op">=</span> <span class="ident">Context</span>::<span class="ident">create</span>();
<span class="kw">let</span> <span class="ident">module</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_module</span>(<span class="string">&quot;ivs&quot;</span>);
<span class="kw">let</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_builder</span>();
<span class="kw">let</span> <span class="ident">void_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">void_type</span>();
<span class="kw">let</span> <span class="ident">f32_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">f32_type</span>();
<span class="kw">let</span> <span class="ident">f32_ptr_type</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">ptr_type</span>(<span class="ident">AddressSpace</span>::<span class="ident">Generic</span>);
<span class="kw">let</span> <span class="ident">fn_type</span> <span class="op">=</span> <span class="ident">void_type</span>.<span class="ident">fn_type</span>(<span class="kw-2">&amp;</span>[<span class="ident">f32_ptr_type</span>.<span class="ident">into</span>()], <span class="bool-val">false</span>);
<span class="kw">let</span> <span class="ident">function</span> <span class="op">=</span> <span class="ident">module</span>.<span class="ident">add_function</span>(<span class="string">&quot;take_f32_ptr&quot;</span>, <span class="ident">fn_type</span>, <span class="prelude-val">None</span>);
<span class="kw">let</span> <span class="ident">basic_block</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">append_basic_block</span>(<span class="kw-2">&amp;</span><span class="ident">function</span>, <span class="string">&quot;entry&quot;</span>);
<span class="ident">builder</span>.<span class="ident">position_at_end</span>(<span class="kw-2">&amp;</span><span class="ident">basic_block</span>);
<span class="kw">let</span> <span class="ident">arg1</span> <span class="op">=</span> <span class="ident">function</span>.<span class="ident">get_first_param</span>().<span class="ident">unwrap</span>().<span class="ident">into_pointer_value</span>();
<span class="kw">let</span> <span class="ident">f32_val</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">const_float</span>(::<span class="ident">std</span>::<span class="ident">f64</span>::<span class="ident">consts</span>::<span class="ident">PI</span>);
<span class="kw">let</span> <span class="ident">store_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_store</span>(<span class="ident">arg1</span>, <span class="ident">f32_val</span>);
<span class="kw">let</span> <span class="ident">free_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_free</span>(<span class="ident">arg1</span>);
<span class="kw">let</span> <span class="ident">return_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_return</span>(<span class="prelude-val">None</span>);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">store_instruction</span>.<span class="ident">get_operand</span>(<span class="number">0</span>).<span class="ident">is_some</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">store_instruction</span>.<span class="ident">get_operand</span>(<span class="number">1</span>).<span class="ident">is_some</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">store_instruction</span>.<span class="ident">get_operand</span>(<span class="number">2</span>).<span class="ident">is_none</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">free_instruction</span>.<span class="ident">get_operand</span>(<span class="number">0</span>).<span class="ident">is_some</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">free_instruction</span>.<span class="ident">get_operand</span>(<span class="number">1</span>).<span class="ident">is_some</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">free_instruction</span>.<span class="ident">get_operand</span>(<span class="number">2</span>).<span class="ident">is_none</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">return_instruction</span>.<span class="ident">get_operand</span>(<span class="number">0</span>).<span class="ident">is_none</span>());
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">return_instruction</span>.<span class="ident">get_operand</span>(<span class="number">1</span>).<span class="ident">is_none</span>());</pre></div>
<p>will generate LLVM IR roughly like (varying slightly across LLVM versions):</p>
<pre><code class="language-ir">; ModuleID = 'ivs'
source_filename = &quot;ivs&quot;
define void @take_f32_ptr(float* %0) {
entry:
store float 0x400921FB60000000, float* %0
%1 = bitcast float* %0 to i8*
tail call void @free(i8* %1)
ret void
}
declare void @free(i8*)
</code></pre>
<p>which makes the instruction operands clear:</p>
<ol>
<li>Store has two: a const float and a variable float pointer %0</li>
<li>Bitcast has one: a variable float pointer %0</li>
<li>Function call has two: i8 pointer %1 argument, and the free function itself</li>
<li>Void return has zero: void is not a value and does not count as an operand
even though the return instruction can take values.</li>
</ol>
</div><h4 id='method.set_operand' class="method"><code id='set_operand.v'>pub fn <a href='#method.set_operand' class='fnname'>set_operand</a>&lt;BV:&nbsp;<a class="trait" href="../../inkwell/values/trait.BasicValue.html" title="trait inkwell::values::BasicValue">BasicValue</a>&gt;(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>, val: BV) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#385-397' title='goto source code'>[src]</a></h4><div class='docblock'><p>Sets the operand an <code>InstructionValue</code> has at a given index if possible.
An operand is a <code>BasicValue</code> used in an IR instruction.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">AddressSpace</span>;
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">context</span>::<span class="ident">Context</span>;
<span class="kw">let</span> <span class="ident">context</span> <span class="op">=</span> <span class="ident">Context</span>::<span class="ident">create</span>();
<span class="kw">let</span> <span class="ident">module</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_module</span>(<span class="string">&quot;ivs&quot;</span>);
<span class="kw">let</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_builder</span>();
<span class="kw">let</span> <span class="ident">void_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">void_type</span>();
<span class="kw">let</span> <span class="ident">f32_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">f32_type</span>();
<span class="kw">let</span> <span class="ident">f32_ptr_type</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">ptr_type</span>(<span class="ident">AddressSpace</span>::<span class="ident">Generic</span>);
<span class="kw">let</span> <span class="ident">fn_type</span> <span class="op">=</span> <span class="ident">void_type</span>.<span class="ident">fn_type</span>(<span class="kw-2">&amp;</span>[<span class="ident">f32_ptr_type</span>.<span class="ident">into</span>()], <span class="bool-val">false</span>);
<span class="kw">let</span> <span class="ident">function</span> <span class="op">=</span> <span class="ident">module</span>.<span class="ident">add_function</span>(<span class="string">&quot;take_f32_ptr&quot;</span>, <span class="ident">fn_type</span>, <span class="prelude-val">None</span>);
<span class="kw">let</span> <span class="ident">basic_block</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">append_basic_block</span>(<span class="kw-2">&amp;</span><span class="ident">function</span>, <span class="string">&quot;entry&quot;</span>);
<span class="ident">builder</span>.<span class="ident">position_at_end</span>(<span class="kw-2">&amp;</span><span class="ident">basic_block</span>);
<span class="kw">let</span> <span class="ident">arg1</span> <span class="op">=</span> <span class="ident">function</span>.<span class="ident">get_first_param</span>().<span class="ident">unwrap</span>().<span class="ident">into_pointer_value</span>();
<span class="kw">let</span> <span class="ident">f32_val</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">const_float</span>(::<span class="ident">std</span>::<span class="ident">f64</span>::<span class="ident">consts</span>::<span class="ident">PI</span>);
<span class="kw">let</span> <span class="ident">store_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_store</span>(<span class="ident">arg1</span>, <span class="ident">f32_val</span>);
<span class="kw">let</span> <span class="ident">free_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_free</span>(<span class="ident">arg1</span>);
<span class="kw">let</span> <span class="ident">return_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_return</span>(<span class="prelude-val">None</span>);
<span class="comment">// This will produce invalid IR:</span>
<span class="ident">free_instruction</span>.<span class="ident">set_operand</span>(<span class="number">0</span>, <span class="ident">f32_val</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">free_instruction</span>.<span class="ident">get_operand</span>(<span class="number">0</span>).<span class="ident">unwrap</span>().<span class="ident">left</span>().<span class="ident">unwrap</span>(), <span class="ident">f32_val</span>);</pre></div>
</div><h4 id='method.get_operand_use' class="method"><code id='get_operand_use.v'>pub fn <a href='#method.get_operand_use' class='fnname'>get_operand_use</a>(&amp;self, index: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../inkwell/values/struct.BasicValueUse.html" title="struct inkwell::values::BasicValueUse">BasicValueUse</a>&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#427-443' title='goto source code'>[src]</a></h4><div class='docblock'><p>Gets the use of an operand(<code>BasicValue</code>), if any.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">AddressSpace</span>;
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">context</span>::<span class="ident">Context</span>;
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">values</span>::<span class="ident">BasicValue</span>;
<span class="kw">let</span> <span class="ident">context</span> <span class="op">=</span> <span class="ident">Context</span>::<span class="ident">create</span>();
<span class="kw">let</span> <span class="ident">module</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_module</span>(<span class="string">&quot;ivs&quot;</span>);
<span class="kw">let</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_builder</span>();
<span class="kw">let</span> <span class="ident">void_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">void_type</span>();
<span class="kw">let</span> <span class="ident">f32_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">f32_type</span>();
<span class="kw">let</span> <span class="ident">f32_ptr_type</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">ptr_type</span>(<span class="ident">AddressSpace</span>::<span class="ident">Generic</span>);
<span class="kw">let</span> <span class="ident">fn_type</span> <span class="op">=</span> <span class="ident">void_type</span>.<span class="ident">fn_type</span>(<span class="kw-2">&amp;</span>[<span class="ident">f32_ptr_type</span>.<span class="ident">into</span>()], <span class="bool-val">false</span>);
<span class="kw">let</span> <span class="ident">function</span> <span class="op">=</span> <span class="ident">module</span>.<span class="ident">add_function</span>(<span class="string">&quot;take_f32_ptr&quot;</span>, <span class="ident">fn_type</span>, <span class="prelude-val">None</span>);
<span class="kw">let</span> <span class="ident">basic_block</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">append_basic_block</span>(<span class="kw-2">&amp;</span><span class="ident">function</span>, <span class="string">&quot;entry&quot;</span>);
<span class="ident">builder</span>.<span class="ident">position_at_end</span>(<span class="kw-2">&amp;</span><span class="ident">basic_block</span>);
<span class="kw">let</span> <span class="ident">arg1</span> <span class="op">=</span> <span class="ident">function</span>.<span class="ident">get_first_param</span>().<span class="ident">unwrap</span>().<span class="ident">into_pointer_value</span>();
<span class="kw">let</span> <span class="ident">f32_val</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">const_float</span>(::<span class="ident">std</span>::<span class="ident">f64</span>::<span class="ident">consts</span>::<span class="ident">PI</span>);
<span class="kw">let</span> <span class="ident">store_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_store</span>(<span class="ident">arg1</span>, <span class="ident">f32_val</span>);
<span class="kw">let</span> <span class="ident">free_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_free</span>(<span class="ident">arg1</span>);
<span class="kw">let</span> <span class="ident">return_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_return</span>(<span class="prelude-val">None</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">store_instruction</span>.<span class="ident">get_operand_use</span>(<span class="number">1</span>), <span class="ident">arg1</span>.<span class="ident">get_first_use</span>());</pre></div>
</div><h4 id='method.get_first_use' class="method"><code id='get_first_use.v'>pub fn <a href='#method.get_first_use' class='fnname'>get_first_use</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="../../inkwell/values/struct.BasicValueUse.html" title="struct inkwell::values::BasicValueUse">BasicValueUse</a>&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#475-477' title='goto source code'>[src]</a></h4><div class='docblock'><p>Gets the first use of an <code>InstructionValue</code> if any.</p>
<p>The following example,</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">AddressSpace</span>;
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">context</span>::<span class="ident">Context</span>;
<span class="kw">use</span> <span class="ident">inkwell</span>::<span class="ident">values</span>::<span class="ident">BasicValue</span>;
<span class="kw">let</span> <span class="ident">context</span> <span class="op">=</span> <span class="ident">Context</span>::<span class="ident">create</span>();
<span class="kw">let</span> <span class="ident">module</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_module</span>(<span class="string">&quot;ivs&quot;</span>);
<span class="kw">let</span> <span class="ident">builder</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">create_builder</span>();
<span class="kw">let</span> <span class="ident">void_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">void_type</span>();
<span class="kw">let</span> <span class="ident">f32_type</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">f32_type</span>();
<span class="kw">let</span> <span class="ident">f32_ptr_type</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">ptr_type</span>(<span class="ident">AddressSpace</span>::<span class="ident">Generic</span>);
<span class="kw">let</span> <span class="ident">fn_type</span> <span class="op">=</span> <span class="ident">void_type</span>.<span class="ident">fn_type</span>(<span class="kw-2">&amp;</span>[<span class="ident">f32_ptr_type</span>.<span class="ident">into</span>()], <span class="bool-val">false</span>);
<span class="kw">let</span> <span class="ident">function</span> <span class="op">=</span> <span class="ident">module</span>.<span class="ident">add_function</span>(<span class="string">&quot;take_f32_ptr&quot;</span>, <span class="ident">fn_type</span>, <span class="prelude-val">None</span>);
<span class="kw">let</span> <span class="ident">basic_block</span> <span class="op">=</span> <span class="ident">context</span>.<span class="ident">append_basic_block</span>(<span class="kw-2">&amp;</span><span class="ident">function</span>, <span class="string">&quot;entry&quot;</span>);
<span class="ident">builder</span>.<span class="ident">position_at_end</span>(<span class="kw-2">&amp;</span><span class="ident">basic_block</span>);
<span class="kw">let</span> <span class="ident">arg1</span> <span class="op">=</span> <span class="ident">function</span>.<span class="ident">get_first_param</span>().<span class="ident">unwrap</span>().<span class="ident">into_pointer_value</span>();
<span class="kw">let</span> <span class="ident">f32_val</span> <span class="op">=</span> <span class="ident">f32_type</span>.<span class="ident">const_float</span>(::<span class="ident">std</span>::<span class="ident">f64</span>::<span class="ident">consts</span>::<span class="ident">PI</span>);
<span class="kw">let</span> <span class="ident">store_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_store</span>(<span class="ident">arg1</span>, <span class="ident">f32_val</span>);
<span class="kw">let</span> <span class="ident">free_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_free</span>(<span class="ident">arg1</span>);
<span class="kw">let</span> <span class="ident">return_instruction</span> <span class="op">=</span> <span class="ident">builder</span>.<span class="ident">build_return</span>(<span class="prelude-val">None</span>);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">arg1</span>.<span class="ident">get_first_use</span>().<span class="ident">is_some</span>());</pre></div>
</div><h4 id='method.get_icmp_predicate' class="method"><code id='get_icmp_predicate.v'>pub fn <a href='#method.get_icmp_predicate' class='fnname'>get_icmp_predicate</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../inkwell/enum.IntPredicate.html" title="enum inkwell::IntPredicate">IntPredicate</a>&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#485-497' title='goto source code'>[src]</a></h4><div class='docblock'><p>Gets the predicate of an <code>ICmp</code> <code>InstructionValue</code>.
For instance, in the LLVM instruction
<code>%3 = icmp slt i32 %0, %1</code>
this gives the <code>slt</code>.</p>
<p>If the instruction is not an <code>ICmp</code>, this returns None.</p>
</div><h4 id='method.get_fcmp_predicate' class="method"><code id='get_fcmp_predicate.v'>pub fn <a href='#method.get_fcmp_predicate' class='fnname'>get_fcmp_predicate</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../../inkwell/enum.FloatPredicate.html" title="enum inkwell::FloatPredicate">FloatPredicate</a>&gt;</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#505-517' title='goto source code'>[src]</a></h4><div class='docblock'><p>Gets the predicate of an <code>FCmp</code> <code>InstructionValue</code>.
For instance, in the LLVM instruction
<code>%3 = fcmp olt float %0, %1</code>
this gives the <code>olt</code>.</p>
<p>If the instruction is not an <code>FCmp</code>, this returns None.</p>
</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-AnyValue' class='impl'><code class='in-band'>impl <a class="trait" href="../../inkwell/values/trait.AnyValue.html" title="trait inkwell::values::AnyValue">AnyValue</a> for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-AnyValue' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/traits.rs.html#20' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.as_any_value_enum' class="method hidden"><code id='as_any_value_enum.v'>fn <a href='../../inkwell/values/trait.AnyValue.html#method.as_any_value_enum' class='fnname'>as_any_value_enum</a>(&amp;self) -&gt; <a class="enum" href="../../inkwell/values/enum.AnyValueEnum.html" title="enum inkwell::values::AnyValueEnum">AnyValueEnum</a></code><a class='srclink' href='../../src/inkwell/values/traits.rs.html#117-119' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns an enum containing a typed version of <code>AnyValue</code>.</p>
</div></div><h3 id='impl-Eq' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Eq' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-Clone' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#520-530' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method"><code id='clone.v'>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; Self</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#523-529' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a clone of this <code>InstructionValue</code>, and returns it.
The clone will have no parent, and no name.</p>
</div><h4 id='method.clone_from' class="method hidden"><code id='clone_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#131-133' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3 id='impl-PartialEq%3CInstructionValue%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>&gt; for <a class="enum" href="../../inkwell/values/enum.AnyValueEnum.html" title="enum inkwell::values::AnyValueEnum">AnyValueEnum</a></code><a href='#impl-PartialEq%3CInstructionValue%3E' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/enums.rs.html#35-39' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.eq' class="method hidden"><code id='eq.v'>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, other: &amp;<a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/inkwell/values/enums.rs.html#36-38' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne' class="method hidden"><code id='ne.v'><span class="docblock attributes">#[must_use]
</span>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#200' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-PartialEq%3CAnyValueEnum%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="../../inkwell/values/enum.AnyValueEnum.html" title="enum inkwell::values::AnyValueEnum">AnyValueEnum</a>&gt; for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-PartialEq%3CAnyValueEnum%3E' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/enums.rs.html#41-45' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.eq-1' class="method hidden"><code id='eq.v-1'>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, other: &amp;<a class="enum" href="../../inkwell/values/enum.AnyValueEnum.html" title="enum inkwell::values::AnyValueEnum">AnyValueEnum</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/inkwell/values/enums.rs.html#42-44' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne-1' class="method hidden"><code id='ne.v-1'><span class="docblock attributes">#[must_use]
</span>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Rhs) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#200' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-PartialEq%3CInstructionValue%3E-1' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>&gt; for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-PartialEq%3CInstructionValue%3E-1' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.eq-2' class="method hidden"><code id='eq.v-2'>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq' class='fnname'>eq</a>(&amp;self, other: &amp;<a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq">Read more</a></p>
</div><h4 id='method.ne-2' class="method hidden"><code id='ne.v-2'>fn <a href='https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne' class='fnname'>ne</a>(&amp;self, other: &amp;<a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>This method tests for <code>!=</code>.</p>
</div></div><h3 id='impl-From%3CInstructionValue%3E' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>&gt; for <a class="enum" href="../../inkwell/values/enum.AnyValueEnum.html" title="enum inkwell::values::AnyValueEnum">AnyValueEnum</a></code><a href='#impl-From%3CInstructionValue%3E' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/enums.rs.html#29-33' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(value: <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a>) -&gt; <a class="enum" href="../../inkwell/values/enum.AnyValueEnum.html" title="enum inkwell::values::AnyValueEnum">AnyValueEnum</a></code><a class='srclink' href='../../src/inkwell/values/enums.rs.html#30-32' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Copy' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Copy' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h3><div class='impl-items'></div><h3 id='impl-Hash' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Hash' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.hash' class="method hidden"><code id='hash.v'>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash' class='fnname'>hash</a>&lt;__H:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>__H)</code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Feeds this value into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></p>
</div><h4 id='method.hash_slice' class="method hidden"><code id='hash_slice.v'>fn <a href='https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice' class='fnname'>hash_slice</a>&lt;H&gt;(data: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[Self]</a>, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>H) <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,&nbsp;</span></code><span class='since' title='Stable since Rust version 1.3.0'>1.3.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#192-198' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Feeds a slice of this type into the given [<code>Hasher</code>]. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>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="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code id='fmt.v'>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>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code><a class='srclink' href='../../src/inkwell/values/instruction_value.rs.html#95' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>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></p>
</div></div></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'><h3 id='impl-Sync' class='impl'><code class='in-band'>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="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Send' class='impl'><code class='in-band'>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="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>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="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../inkwell/values/struct.InstructionValue.html" title="struct inkwell::values::InstructionValue">InstructionValue</a></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>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;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#543-548' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#545-547' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-ToOwned' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> 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/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code><a href='#impl-ToOwned' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-92' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Owned' class="type"><code id='Owned.t'>type <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned' class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4 id='method.to_owned' class="method hidden"><code id='to_owned.v'>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned' class='fnname'>to_owned</a>(&amp;self) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4 id='method.clone_into' class="method hidden"><code id='clone_into.v'>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into' class='fnname'>clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89-91' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>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</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#552-554' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from-1' class="method hidden"><code id='from.v-1'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>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;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#571-577' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>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="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#574-576' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>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;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#559-566' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">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="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>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="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#563-565' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>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>,&nbsp;</span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>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/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>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></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>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>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>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/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-Any' class='impl'><code class='in-band'>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>,&nbsp;</span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>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></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>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></p>
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../";window.currentCrate = "inkwell";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>