<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `Function` struct in crate `cranelift_codegen`."><metaname="keywords"content="rust, rustlang, rust-lang, Function"><title>cranelift_codegen::ir::function::Function - Rust</title><linkrel="stylesheet"type="text/css"href="../../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../../dark.css"><linkrel="stylesheet"type="text/css"href="../../../light.css"id="themeStyle"><scriptsrc="../../../storage.js"></script><noscript><linkrel="stylesheet"href="../../../noscript.css"></noscript><linkrel="shortcut icon"href="../../../favicon.ico"><styletype="text/css">#crate-search{background-image:url("../../../down-arrow.svg");}</style></head><bodyclass="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="sidebar"><divclass="sidebar-menu">☰</div><ahref='../../../cranelift_codegen/index.html'><divclass='logo-container'><imgsrc='../../../rust-logo.png'alt='logo'></div></a><pclass='location'>Struct Function</p><divclass="sidebar-elems"><divclass="block items"><aclass="sidebar-title"href="#fields">Fields</a><divclass="sidebar-links"><ahref="#structfield.name">name</a><ahref="#structfield.signature">signature</a><ahref="#structfield.stack_slots">stack_slots</a><ahref="#structfield.global_values">global_values</a><ahref="#structfield.heaps">heaps</a><ahref="#structfield.tables">tables</a><ahref="#structfield.jump_tables">jump_tables</a><ahref="#structfield.dfg">dfg</a><ahref="#structfield.layout">layout</a><ahref="#structfield.encodings">encodings</a><ahref="#structfield.locations">locations</a><ahref="#structfield.offsets">offsets</a><ahref="#structfield.jt_offsets">jt_offsets</a><ahref="#structfield.srclocs">srclocs</a></div><aclass="sidebar-title"href="#methods">Methods</a><divclass="sidebar-links"><ahref="#method.clear">clear</a><ahref="#method.collect_debug_info">collect_debug_info</a><ahref="#method.create_global_value">create_global_value</a><ahref="#method.create_heap">create_heap</a><ahref="#method.create_jump_table">create_jump_table</a><ahref="#method.create_stack_slot">create_stack_slot</a><ahref="#method.create_table">create_table</a><ahref="#method.display">display</a><ahref="#method.display_with">display_with</a><ahref="#method.encode">encode</a><ahref="#method.import_function">import_function</a><ahref="#method.import_signature">import_signature</a><ahref="#method.inst_offsets">inst_offsets</a><ahref="#method.new">new</a><ahref="#method.special_param">special_param</a><ahref="#method.update_encoding">update_encoding</a><ahref="#method.with_name_signature">with_name_signature</a></div><aclass="sidebar-title"href="#implementations">Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-Clone">Clone</a><ahref="#impl-Debug">Debug</a><ahref="#impl-Display">Display</a></div><aclass="sidebar-title"href="#synthetic-implementations">Auto Trait Implementations</a><divclass="sidebar-links"><ahref="#impl-RefUnwindSafe">RefUnwindSafe</a><ahref="#impl-Send">Send</a><ahref="#impl-Sync">Sync</a><ahref="#impl-Unpin">Unpin</a><ahref="#impl-UnwindSafe">UnwindSafe</a></div><aclass="sidebar-title"href="#blanket-implementations">Blanket Implementations</a><divclass="sidebar-links"><ahref="#impl-Any">Any</a><ahref="#impl-Borrow%3CT%3E">Borrow<T></a><ahref="#impl-BorrowMut%3CT%3E">BorrowMut<T></a><ahref="#impl-From%3CT%3E">From<T></a><ahref="#impl-Into%3CU%3E">Into<U></a><ahref="#impl-ToOwned">ToOwned</a><ahref="#impl-ToString">ToString</a><ahref="#impl-TryFrom%3CU%3E">TryFrom<U></a><ahref="#impl-TryInto%3CU%3E">TryInto<U></a></div></div><pclass='location'><ahref='../../index
Fields<ahref='#fields'class='anchor'></a></h2><spanid="structfield.name"class="structfield small-section-header"><ahref="#structfield.name"class="anchor field"></a><codeid="name.v">name: <aclass="enum"href="../../../cranelift_codegen/ir/enum.ExternalName.html"title="enum cranelift_codegen::ir::ExternalName">ExternalName</a></code></span><divclass='docblock'><p>Name of this function. Mostly used by <code>.clif</code> files.</p>
</div><spanid="structfield.signature"class="structfield small-section-header"><ahref="#structfield.signature"class="anchor field"></a><codeid="signature.v">signature: <aclass="struct"href="../../../cranelift_codegen/ir/struct.Signature.html"title="struct cranelift_codegen::ir::Signature">Signature</a></code></span><divclass='docblock'><p>Signature of this function.</p>
</div><spanid="structfield.stack_slots"class="structfield small-section-header"><ahref="#structfield.stack_slots"class="anchor field"></a><codeid="stack_slots.v">stack_slots: <aclass="struct"href="../../../cranelift_codegen/ir/stackslot/struct.StackSlots.html"title="struct cranelift_codegen::ir::stackslot::StackSlots">StackSlots</a></code></span><divclass='docblock'><p>Stack slots allocated in this function.</p>
</div><spanid="structfield.jump_tables"class="structfield small-section-header"><ahref="#structfield.jump_tables"class="anchor field"></a><codeid="jump_tables.v">jump_tables: <aclass="type"href="../../../cranelift_codegen/ir/type.JumpTables.html"title="type cranelift_codegen::ir::JumpTables">JumpTables</a></code></span><divclass='docblock'><p>Jump tables used in this function.</p>
</div><spanid="structfield.dfg"class="structfield small-section-header"><ahref="#structfield.dfg"class="anchor field"></a><codeid="dfg.v">dfg: <aclass="struct"href="../../../cranelift_codegen/ir/dfg/struct.DataFlowGraph.html"title="struct cranelift_codegen::ir::dfg::DataFlowGraph">DataFlowGraph</a></code></span><divclass='docblock'><p>Data flow graph containing the primary definition of all instructions, EBBs and values.</p>
</div><spanid="structfield.layout"class="structfield small-section-header"><ahref="#structfield.layout"class="anchor field"></a><codeid="layout.v">layout: <aclass="struct"href="../../../cranelift_codegen/ir/layout/struct.Layout.html"title="struct cranelift_codegen::ir::layout::Layout">Layout</a></code></span><divclass='docblock'><p>Layout of EBBs and instructions in the function body.</p>
</div><spanid="structfield.encodings"class="structfield small-section-header"><ahref="#structfield.encodings"class="anchor field"></a><codeid="encodings.v">encodings: <aclass="type"href="../../../cranelift_codegen/ir/type.InstEncodings.html"title="type cranelift_codegen::ir::InstEncodings">InstEncodings</a></code></span><divclass='docblock'><p>Encoding recipe and bits for the legal instructions.
Illegal instructions have the <code>Encoding::default()</code> value.</p>
</div><spanid="structfield.locations"class="structfield small-section-header"><ahref="#structfield.locations"class="anchor field"></a><codeid="locations.v">locations: <aclass="type"href="../../../cranelift_codegen/ir/type.ValueLocations.html"title="type cranelift_codegen::ir::ValueLocations">ValueLocations</a></code></span><divclass='docblock'><p>Location assigned to every value.</p>
</div><spanid="structfield.offsets"class="structfield small-section-header"><ahref="#structfield.offsets"class="anchor field"></a><codeid="offsets.v">offsets: <aclass="type"href="../../../cranelift_codegen/ir/type.EbbOffsets.html"title="type cranelift_codegen::ir::EbbOffsets">EbbOffsets</a></code></span><divclass='docblock'><p>Code offsets of the EBB headers.</p>
<p>This information is only transiently available after the <code>binemit::relax_branches</code> function
computes it, and it can easily be recomputed by calling that function. It is not included
in the textual IR format.</p>
</div><spanid="structfield.jt_offsets"class="structfield small-section-header"><ahref="#structfield.jt_offsets"class="anchor field"></a><codeid="jt_offsets.v">jt_offsets: <aclass="type"href="../../../cranelift_codegen/ir/type.JumpTableOffsets.html"title="type cranelift_codegen::ir::JumpTableOffsets">JumpTableOffsets</a></code></span><divclass='docblock'><p>Code offsets of Jump Table headers.</p>
<p>Track the original source location for each instruction. The source locations are not
interpreted by Cranelift, only preserved.</p>
</div><h2id='methods'class='small-section-header'>Methods<ahref='#methods'class='anchor'></a></h2><h3id='impl'class='impl'><codeclass='in-band'>impl <aclass="struct"href="../../../cranelift_codegen/ir/function/struct.Function.html"title="struct cranelift_codegen::ir::function::Function">Function</a></code><ahref='#impl'class='anchor'></a><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#79-222'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.with_name_signature'class="method"><codeid='with_name_signature.v'>pub fn <ahref='#method.with_name_signature'class='fnname'>with_name_signature</a>(name: <aclass="enum"href="../../../cranelift_codegen/ir/enum.ExternalName.html"title="enum cranelift_codegen::ir::ExternalName">ExternalName</a>, sig: <aclass="struct"href="../../../cranelift_codegen/ir/struct.Signature.html"title="struct cranelift_codegen::ir::Signature">Signature</a>) -> Self</code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#81-98'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Create a function with the given name and signature.</p>
</div><h4id='method.clear'class="method"><codeid='clear.v'>pub fn <ahref='#method.clear'class='fnname'>clear</a>(&mut self)</code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#101-114'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Clear all data structures in this function.</p>
</div><h4id='method.new'class="method"><codeid='new.v'>pub fn <ahref='#method.new'class='fnname'>new</a>() -> Self</code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#117-119'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Create a new empty, anonymous function with a Fast calling convention.</p>
</div><h4id='method.create_jump_table'class="method"><codeid='create_jump_table.v'>pub fn <ahref='#method.create_jump_table'class='fnname'>create_jump_table</a>(&mut self, data: <aclass="struct"href="../../../cranelift_codegen/ir/jumptable/struct.JumpTableData.html"title="struct cranelift_codegen::ir::jumptable::JumpTableData">JumpTableData</a>) -><aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.JumpTable.html"title="struct cranelift_codegen::ir::entities::JumpTable">JumpTable</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#122-124'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Creates a jump table in the function, to be used by <code>br_table</code> instructions.</p>
</div><h4id='method.create_stack_slot'class="method"><codeid='create_stack_slot.v'>pub fn <ahref='#method.create_stack_slot'class='fnname'>create_stack_slot</a>(&mut self, data: <aclass="struct"href="../../../cranelift_codegen/ir/stackslot/struct.StackSlotData.html"title="struct cranelift_codegen::ir::stackslot::StackSlotData">StackSlotData</a>) -><aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.StackSlot.html"title="struct cranelift_codegen::ir::entities::StackSlot">StackSlot</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#128-130'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Creates a stack slot in the function, to be used by <code>stack_load</code>, <code>stack_store</code> and
<code>stack_addr</code> instructions.</p>
</div><h4id='method.import_signature'class="method"><codeid='import_signature.v'>pub fn <ahref='#method.import_signature'class='fnname'>import_signature</a>(&mut self, signature: <aclass="struct"href="../../../cranelift_codegen/ir/struct.Signature.html"title="struct cranelift_codegen::ir::Signature">Signature</a>) -><aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.SigRef.html"title="struct cranelift_codegen::ir::entities::SigRef">SigRef</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#133-135'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Adds a signature which can later be used to declare an external function import.</p>
</div><h4id='method.import_function'class="method"><codeid='import_function.v'>pub fn <ahref='#method.import_function'class='fnname'>import_function</a>(&mut self, data: <aclass="struct"href="../../../cranelift_codegen/ir/struct.ExtFuncData.html"title="struct cranelift_codegen::ir::ExtFuncData">ExtFuncData</a>) -><aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.FuncRef.html"title="struct cranelift_codegen::ir::entities::FuncRef">FuncRef</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#138-140'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Declare an external function import.</p>
</div><h4id='method.create_global_value'class="method"><codeid='create_global_value.v'>pub fn <ahref='#method.create_global_value'class='fnname'>create_global_value</a>(&mut self, data: <aclass="enum"href="../../../cranelift_codegen/ir/enum.GlobalValueData.html"title="enum cranelift_codegen::ir::GlobalValueData">GlobalValueData</a>) -><aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.GlobalValue.html"title="struct cranelift_codegen::ir::entities::GlobalValue">GlobalValue</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#143-145'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Declares a global value accessible to the function.</p>
</div><h4id='method.create_heap'class="method"><codeid='create_heap.v'>pub fn <ahref='#method.create_heap'class='fnname'>create_heap</a>(&mut self, data: <aclass="struct"href="../../../cranelift_codegen/ir/struct.HeapData.html"title="struct cranelift_codegen::ir::HeapData">HeapData</a>) -><aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.Heap.html"title="struct cranelift_codegen::ir::entities::Heap">Heap</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#148-150'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Declares a heap accessible to the function.</p>
</div><h4id='method.create_table'class="method"><codeid='create_table.v'>pub fn <ahref='#method.create_table'class='fnname'>create_table</a>(&mut self, data: <aclass="struct"href="../../../cranelift_codegen/ir/struct.TableData.html"title="struct cranelift_codegen::ir::TableData">TableData</a>) -><aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.Table.html"title="struct cranelift_codegen::ir::entities::Table">Table</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#153-155'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Declares a table accessible to the function.</p>
</div><h4id='method.display'class="method"><codeid='display.v'>pub fn <ahref='#method.display'class='fnname'>display</a><'a, I: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><<aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><&'a dyn <aclass="trait"href="../../../cranelift_codegen/isa/trait.TargetIsa.html"title="trait cranelift_codegen::isa::TargetIsa">TargetIsa</a>>>>(<br> &'a self, <br> isa: I<br>) -><aclass="struct"href="../../../cranelift_codegen/ir/function/struct.DisplayFunction.html"title="struct cranelift_codegen::ir::function::DisplayFunction">DisplayFunction</a><'a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#158-163'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Return an object that can display this function with correct ISA-specific annotations.</p>
</div><h4id='method.display_with'class="method"><codeid='display_with.v'>pub fn <ahref='#method.display_with'class='fnname'>display_with</a><'a>(<br> &'a self, <br> annotations: <aclass="struct"href="../../../cranelift_codegen/ir/function/struct.DisplayFunctionAnnotations.html"title="struct cranelift_codegen::ir::function::DisplayFunctionAnnotations">DisplayFunctionAnnotations</a><'a><br>) -><aclass="struct"href="../../../cranelift_codegen/ir/function/struct.DisplayFunction.html"title="struct cranelift_codegen::ir::function::DisplayFunction">DisplayFunction</a><'a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#166-171'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Return an object that can display this function with correct ISA-specific annotations.</p>
</div><h4id='method.special_param'class="method"><codeid='special_param.v'>pub fn <ahref='#method.special_param'class='fnname'>special_param</a>(&self, purpose: <aclass="enum"href="../../../cranelift_codegen/ir/enum.ArgumentPurpose.html"title="enum cranelift_codegen::ir::ArgumentPurpose">ArgumentPurpose</a>) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.Value.html"title="struct cranelift_codegen::ir::entities::Value">Value</a>></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#176-181'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Find a presumed unique special-purpose function parameter value.</p>
<p>Returns the value of the last <code>purpose</code> parameter, or <code>None</code> if no such parameter exists.</p>
</div><h4id='method.inst_offsets'class="method"><divclass="important-traits"><divclass='tooltip'>ⓘ<spanclass='tooltiptext'>Important traits for <aclass="struct"href="../../../cranelift_codegen/ir/function/struct.InstOffsetIter.html"title="struct cranelift_codegen::ir::function::InstOffsetIter">InstOffsetIter</a><'a></span></div><divclass="content hidden"><h3class="important">Important traits for <aclass="struct"href="../../../cranelift_codegen/ir/function/struct.InstOffsetIter.html"title="struct cranelift_codegen::ir::function::InstOffsetIter">InstOffsetIter</a><'a></h3><codeclass="content"><spanclass="where fmt-newline">impl<'a><aclass="trait"href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html"title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <aclass="struct"href="../../../cranelift_codegen/ir/function/struct.InstOffsetIter.html"title="struct cranelift_codegen::ir::function::InstOffsetIter">InstOffsetIter</a><'a></span><spanclass="where fmt-newline"> type <ahref='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item'class="type">Item</a> = <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(</a><aclass="type"href="../../../cranelift_codegen/binemit/type.CodeOffset.html"title="type cranelift_codegen::binemit::CodeOffset">CodeOffset</a>, <aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.Inst.html"title="struct cranelift_codegen::ir::entities::Inst">Inst</a>, <aclass="type"href="../../../cranelift_codegen/binemit/type.CodeOffset.html"title="type cranelift_codegen::binemit::CodeOffset">CodeOffset</a><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">)</a>;</span></code></div></div><codeid='inst_offsets.v'>pub fn <ahref='#method.inst_offsets'class='fnname'>inst_offsets</a><'a>(<br> &'a self, <br> ebb: <aclass="struct"href="../../../cranelift_codegen/ir/entities/struct.Ebb.html"title="struct cranelift_codegen::ir::entities::Ebb">Ebb</a>, <br> encinfo: &<aclass="struct"href="../../../cranelift_codegen/isa/struct.EncInfo.html"title="struct cranelift_codegen::isa::EncInfo">EncInfo</a><br>) -><aclass="struct"href="../../../cranelift_codegen/ir/function/struct.InstOffsetIter.html"title="struct cranelift_codegen::ir::function::InstOffsetIter">InstOffsetIter</a><'a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#192-205'title='goto source code'>[src]</a></h4><divclass='docblock'><p>Get an iterator over the instructions in <code>ebb</code>, including offsets and encoded instruction
sizes.</p>
<p>The iterator returns <code>(offset, inst, size)</code> tuples, where <code>offset</code> if the offset in bytes
from the beginning of the function to the instruction, and <code>size</code> is the size of the
instruction in bytes, or 0 for unencoded instructions.</p>
<p>This function can only be used after the code layout has been computed by the
</div></div><h2id='implementations'class='small-section-header'>Trait Implementations<ahref='#implementations'class='anchor'></a></h2><divid='implementations-list'><h3id='impl-Debug'class='impl'><codeclass='in-band'>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html"title="trait core::fmt::Debug">Debug</a> for <aclass="struct"href="../../../cranelift_codegen/ir/function/struct.Function.html"title="struct cranelift_codegen::ir::function::Function">Function</a></code><ahref='#impl-Debug'class='anchor'></a><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#267-271'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.fmt'class="method hidden"><codeid='fmt.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt'class='fnname'>fmt</a>(&self, fmt: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a>) -><aclass="type"href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#268-270'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div><h3id='impl-Display'class='impl'><codeclass='in-band'>impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html"title="trait core::fmt::Display">Display</a> for <aclass="struct"href="../../../cranelift_codegen/ir/function/struct.Function.html"title="struct cranelift_codegen::ir::function::Function">Function</a></code><ahref='#impl-Display'class='anchor'></a><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#261-265'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.fmt-1'class="method hidden"><codeid='fmt.v-1'>fn <ahref='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt'class='fnname'>fmt</a>(&self, fmt: &mut <aclass="struct"href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html"title="struct core::fmt::Formatter">Formatter</a>) -><aclass="type"href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html"title="type core::fmt::Result">Result</a></code><aclass='srclink'href='../../../src/cranelift_codegen/ir/function.rs.html#262-264'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Formats the value using the given formatter. <ahref="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></div><h3id='impl-TryFrom%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>, </span></code><ahref='#impl-TryFrom%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#571-577'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error'class="type"><codeid='Error.t'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error'class="type">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_from'class="method hidden"><codeid='try_from.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from'class='fnname'>try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#574-576'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-Into%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html"title="trait core::convert::From">From</a><T>, </span></code><ahref='#impl-Into%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#543-548'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.into'class="method hidden"><codeid='into.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into'class='fnname'>into</a>(self) -> U</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#545-547'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-TryInto%3CU%3E'class='impl'><codeclass='in-band'>impl<T, U><aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T <spanclass="where fmt-newline">where<br> U: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>, </span></code><ahref='#impl-TryInto%3CU%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#559-566'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Error-1'class="type"><codeid='Error.t-1'>type <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error'class="type">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></code></h4><divclass='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4id='method.try_into'class="method hidden"><codeid='try_into.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into'class='fnname'>try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="type"href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#563-565'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3id='impl-Borrow%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Borrow%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow'class="method hidden"><codeid='borrow.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow'class='fnname'>borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3id='impl-BorrowMut%3CT%3E'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-BorrowMut%3CT%3E'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.borrow_mut'class="method hidden"><codeid='borrow_mut.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut'class='fnname'>borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3id='impl-Any'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-Any'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.type_id'class="method hidden"><codeid='type_id.v'>fn <ahref='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id'class='fnname'>type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3id='impl-ToString'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html"title="trait alloc::string::ToString">ToString</a> for T <spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html"title="trait core::fmt::Display">Display</a> + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></code><ahref='#impl-ToString'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2134-2144'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='method.to_string'class="method hidden"><codeid='to_string.v'>default fn <ahref='https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string'class='fnname'>to_string</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/string.rs.html#2136-2143'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Converts the given value to a <code>String</code>. <ahref="https://doc.rust-lang.org/nightly/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></p>
</div></div><h3id='impl-ToOwned'class='impl'><codeclass='in-band'>impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T <spanclass="where fmt-newline">where<br> T: <aclass="trait"href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>, </span></code><ahref='#impl-ToOwned'class='anchor'></a><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#81-92'title='goto source code'>[src]</a></h3><divclass='impl-items'><h4id='associatedtype.Owned'class="type"><codeid='Owned.t'>type <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned'class="type">Owned</a> = T</code></h4><divclass='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4id='method.to_owned'class="method hidden"><codeid='to_owned.v'>fn <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned'class='fnname'>to_owned</a>(&self) -> T</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87'title='goto source code'>[src]</a></h4><divclass='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4id='method.clone_into'class="method hidden"><codeid='clone_into.v'>fn <ahref='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into'class='fnname'>clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&mut </a>T)</code><aclass='srclink'href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89-91'title='goto source code'>[src]</a></h4><divclass='stability hidden'><divclass='stab unstable'><details><summary><spanclass='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><divclass='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div></div></section><sectionid="search"class="content hidden"></section><sectionclass="footer"></section><asideid="help"class="hidden"><div><h1class="hidden">Help</h1><divclass="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd>↑</kbd></dt><dd>Move up in search results</dd><dt><kbd>↓</kbd></dt><dd>Move down in search results</dd><dt><kbd>↹</kbd></dt><dd>Switch tab</dd><dt><kbd>⏎</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><divclass="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath="../../../";window.currentCrate="cranelift_codegen";</script><scriptsrc="../../../aliases.js"></script><scriptsrc="../../../main.js"></script><scriptdefersrc="../../../search-index.js"></script></body></html>