<main><divclass="width-limiter"><navclass="sub"><formclass="search-form"><span></span><divid="sidebar-button"tabindex="-1"><ahref="../../inkwell/all.html"title="show sidebar"></a></div><inputclass="search-input"name="search"aria-label="Run search in the documentation"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><divid="help-button"tabindex="-1"><ahref="../../help.html"title="help">?</a></div><divid="settings-menu"tabindex="-1"><ahref="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><sectionid="main-content"class="content"><divclass="main-heading"><h1>Struct <ahref="../index.html">inkwell</a>::<wbr><ahref="index.html">types</a>::<wbr><aclass="struct"href="#">StructType</a><buttonid="copy-path"title="Copy item path to clipboard"><imgsrc="../../static.files/clipboard-7571035ce49a181d.svg"width="19"height="18"alt="Copy item path"></button></h1><spanclass="out-of-band"><aclass="src"href="../../src/inkwell/types/struct_type.rs.html#21-23">source</a> · <buttonid="toggle-all-docs"title="collapse all docs">[<span>−</span>]</button></span></div><preclass="rust item-decl"><code>pub struct StructType<'ctx> { <spanclass="comment">/* private fields */</span> }</code></pre><detailsclass="toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>A <code>StructType</code> is the type of a heterogeneous container of types.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_field_type_at_index"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#51-65">source</a><h4class="code-header">pub fn <ahref="#method.get_field_type_at_index"class="fn">get_field_type_at_index</a>(self, index: <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.u32.html">u32</a>) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="enum"href="enum.BasicTypeEnum.html"title="enum inkwell::types::BasicTypeEnum">BasicTypeEnum</a><'ctx>></h4></section></summary><divclass="docblock"><p>Gets the type of a field belonging to this <code>StructType</code>.</p>
) -><aclass="enum"href="enum.BasicTypeEnum.html"title="enum inkwell::types::BasicTypeEnum">BasicTypeEnum</a><'ctx></h4></section></summary><divclass="docblock"><p>Gets the type of a field belonging to this <code>StructType</code>.</p>
<p>The index must be less than <ahref="struct.StructType.html#method.count_fields"title="method inkwell::types::StructType::count_fields">StructType::count_fields</a> and the struct must not be opaque.</p>
) -><aclass="struct"href="../values/struct.StructValue.html"title="struct inkwell::values::StructValue">StructValue</a><'ctx></h4></section></summary><divclass="docblock"><p>Creates a <code>StructValue</code> based on this <code>StructType</code>’s definition.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.const_zero"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#112-114">source</a><h4class="code-header">pub fn <ahref="#method.const_zero"class="fn">const_zero</a>(self) -><aclass="struct"href="../values/struct.StructValue.html"title="struct inkwell::values::StructValue">StructValue</a><'ctx></h4></section></summary><divclass="docblock"><p>Creates a constant zero value of this <code>StructType</code>.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.size_of"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#129-131">source</a><h4class="code-header">pub fn <ahref="#method.size_of"class="fn">size_of</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../values/struct.IntValue.html"title="struct inkwell::values::IntValue">IntValue</a><'ctx>></h4></section></summary><divclass="docblock"><p>Gets the size of this <code>StructType</code>. Value may vary depending on the target architecture.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_alignment"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#145-147">source</a><h4class="code-header">pub fn <ahref="#method.get_alignment"class="fn">get_alignment</a>(self) -><aclass="struct"href="../values/struct.IntValue.html"title="struct inkwell::values::IntValue">IntValue</a><'ctx></h4></section></summary><divclass="docblock"><p>Gets the alignment of this <code>StructType</code>. Value may vary depending on the target architecture.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_context"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#162-164">source</a><h4class="code-header">pub fn <ahref="#method.get_context"class="fn">get_context</a>(self) -><aclass="struct"href="../context/struct.ContextRef.html"title="struct inkwell::context::ContextRef">ContextRef</a><'ctx></h4></section></summary><divclass="docblock"><p>Gets a reference to the <code>Context</code> this <code>StructType</code> was created in.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.ptr_type"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#230-232">source</a><h4class="code-header">pub fn <ahref="#method.ptr_type"class="fn">ptr_type</a>(self, address_space: <aclass="struct"href="../struct.AddressSpace.html"title="struct inkwell::AddressSpace">AddressSpace</a>) -><aclass="struct"href="struct.PointerType.html"title="struct inkwell::types::PointerType">PointerType</a><'ctx></h4></section><spanclass="item-info"><divclass="stab deprecated"><spanclass="emoji">👎</span><span>Deprecated: Starting from version 15.0, LLVM doesn’t differentiate between pointer types. Use Context::ptr_type instead.</span></div></span></summary><divclass="docblock"><p>Creates a <code>PointerType</code> with this <code>StructType</code> for its element type.</p>
) -><aclass="struct"href="struct.FunctionType.html"title="struct inkwell::types::FunctionType">FunctionType</a><'ctx></h4></section></summary><divclass="docblock"><p>Creates a <code>FunctionType</code> with this <code>StructType</code> for its return type.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.array_type"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#265-267">source</a><h4class="code-header">pub fn <ahref="#method.array_type"class="fn">array_type</a>(self, size: <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.u32.html">u32</a>) -><aclass="struct"href="struct.ArrayType.html"title="struct inkwell::types::ArrayType">ArrayType</a><'ctx></h4></section></summary><divclass="docblock"><p>Creates an <code>ArrayType</code> with this <code>StructType</code> for its element type.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_packed"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#282-284">source</a><h4class="code-header">pub fn <ahref="#method.is_packed"class="fn">is_packed</a>(self) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Determines whether or not a <code>StructType</code> is packed.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_opaque"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#299-301">source</a><h4class="code-header">pub fn <ahref="#method.is_opaque"class="fn">is_opaque</a>(self) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Determines whether or not a <code>StructType</code> is opaque.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.count_fields"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#317-319">source</a><h4class="code-header">pub fn <ahref="#method.count_fields"class="fn">count_fields</a>(self) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.u32.html">u32</a></h4></section></summary><divclass="docblock"><p>Counts the number of field types.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_field_types_iter"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#352-358">source</a><h4class="code-header">pub fn <ahref="#method.get_field_types_iter"class="fn">get_field_types_iter</a>(self) -><aclass="struct"href="struct.FieldTypesIter.html"title="struct inkwell::types::FieldTypesIter">FieldTypesIter</a><'ctx><ahref="#"class="tooltip"data-notable-ty="FieldTypesIter<'ctx>">ⓘ</a></h4></section></summary><divclass="docblock"><p>Get a struct field iterator.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.print_to_string"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#361-363">source</a><h4class="code-header">pub fn <ahref="#method.print_to_string"class="fn">print_to_string</a>(self) -><aclass="struct"href="../support/struct.LLVMString.html"title="struct inkwell::support::LLVMString">LLVMString</a></h4></section></summary><divclass="docblock"><p>Print the definition of a <code>StructType</code> to <code>LLVMString</code>.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_undef"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#380-382">source</a><h4class="code-header">pub fn <ahref="#method.get_undef"class="fn">get_undef</a>(self) -><aclass="struct"href="../values/struct.StructValue.html"title="struct inkwell::values::StructValue">StructValue</a><'ctx></h4></section></summary><divclass="docblock"><p>Creates an undefined instance of a <code>StructType</code>.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.get_poison"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#401-403">source</a><h4class="code-header">pub fn <ahref="#method.get_poison"class="fn">get_poison</a>(self) -><aclass="struct"href="../values/struct.StructValue.html"title="struct inkwell::values::StructValue">StructValue</a><'ctx></h4></section></summary><divclass="docblock"><p>Creates a poison instance of a <code>StructType</code>.</p>
</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.set_body"class="method"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#424-437">source</a><h4class="code-header">pub fn <ahref="#method.set_body"class="fn">set_body</a>(self, field_types: &[<aclass="enum"href="enum.BasicTypeEnum.html"title="enum inkwell::types::BasicTypeEnum">BasicTypeEnum</a><'ctx>], packed: <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass="docblock"><p>Defines the body of a <code>StructType</code>.</p>
</div></details></div></details></div><h2id="trait-implementations"class="section-header">Trait Implementations<ahref="#trait-implementations"class="anchor">§</a></h2><divid="trait-implementations-list"><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-AnyType%3C'ctx%3E-for-StructType%3C'ctx%3E"class="impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#171">source</a><ahref="#impl-AnyType%3C'ctx%3E-for-StructType%3C'ctx%3E"class="anchor">§</a><h3class="code-header">impl<'ctx><aclass="trait"href="trait.AnyType.html"title="trait inkwell::types::AnyType">AnyType</a><'ctx> for <aclass="struct"href="struct.StructType.html"title="struct inkwell::types::StructType">StructType</a><'ctx></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.as_any_type_enum"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#28-30">source</a><ahref="#method.as_any_type_enum"class="anchor">§</a><h4class="code-header">fn <ahref="trait.AnyType.html#method.as_any_type_enum"class="fn">as_any_type_enum</a>(&self) -><aclass="enum"href="enum.AnyTypeEnum.html"title="enum inkwell::types::AnyTypeEnum">AnyTypeEnum</a><'ctx></h4></section></summary><divclass='docblock'>Returns an <code>AnyTypeEnum</code> that represents the current type.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.print_to_string-1"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#33-35">source</a><ahref="#method.print_to_string-1"class="anchor">§</a><h4class="code-header">fn <ahref="trait.AnyType.html#method.print_to_string"class="fn">print_to_string</a>(&self) -><aclass="struct"href="../support/struct.LLVMString.html"title="struct inkwell::support::LLVMString">LLVMString</a></h4></section></summary><divclass='docblock'>Prints the definition of a Type to a <code>LLVMString</code>.</div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-AsTypeRef-for-StructType%3C'_%3E"class="impl"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#466-470">source</a><ahref="#impl-AsTypeRef-for-StructType%3C'_%3E"class="anchor">§</a><h3class="code-header">impl <aclass="trait"href="trait.AsTypeRef.html"title="trait inkwell::types::AsTypeRef">AsTypeRef</a> for <aclass="struct"href="struct.StructType.html"title="struct inkwell::types::StructType">StructType</a><'_></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.as_type_ref"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#467-469">source</a><ahref="#method.as_type_ref"class="anchor">§</a><h4class="code-header">fn <ahref="trait.AsTypeRef.html#tymethod.as_type_ref"class="fn">as_type_ref</a>(&self) -><aclass="type"href="../../llvm_sys/prelude/type.LLVMTypeRef.html"title="type llvm_sys::prelude::LLVMTypeRef">LLVMTypeRef</a></h4></section></summary><divclass='docblock'>Returns the internal LLVM reference behind the type</div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-BasicType%3C'ctx%3E-for-StructType%3C'ctx%3E"class="impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#172">source</a><ahref="#impl-BasicType%3C'ctx%3E-for-StructType%3C'ctx%3E"class="anchor">§</a><h3class="code-header">impl<'ctx><aclass="trait"href="trait.BasicType.html"title="trait inkwell::types::BasicType">BasicType</a><'ctx> for <aclass="struct"href="struct.StructType.html"title="struct inkwell::types::StructType">StructType</a><'ctx></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.as_basic_type_enum"class="method trait-impl"><aclass="src rightside"href="../..
) -><aclass="struct"href="struct.FunctionType.html"title="struct inkwell::types::FunctionType">FunctionType</a><'ctx></h4></section></summary><divclass='docblock'>Create a <code>FunctionType</code> with this <code>BasicType</code> as its return type. <ahref="trait.BasicType.html#method.fn_type">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.is_sized"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#77-79">source</a><ahref="#method.is_sized"class="anchor">§</a><h4class="code-header">fn <ahref="trait.BasicType.html#method.is_sized"class="fn">is_sized</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>Determines whether or not this <code>BasicType</code> is sized or not.
For example, opaque structs are unsized. <ahref="trait.BasicType.html#method.is_sized">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.size_of-1"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#94-96">source</a><ahref="#method.size_of-1"class="anchor">§</a><h4class="code-header">fn <ahref="trait.BasicType.html#method.size_of"class="fn">size_of</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="struct"href="../values/struct.IntValue.html"title="struct inkwell::values::IntValue">IntValue</a><'ctx>></h4></section></summary><divclass='docblock'>Gets the size of this <code>BasicType</code>. Value may vary depending on the target architecture. <ahref="trait.BasicType.html#method.size_of">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.array_type-1"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#111-113">source</a><ahref="#method.array_type-1"class="anchor">§</a><h4class="code-header">fn <ahref="trait.BasicType.html#method.array_type"class="fn">array_type</a>(&self, size: <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.u32.html">u32</a>) -><aclass="struct"href="struct.ArrayType.html"title="struct inkwell::types::ArrayType">ArrayType</a><'ctx></h4></section></summary><divclass='docblock'>Create an <code>ArrayType</code> with this <code>BasicType</code> as its elements. <ahref="trait.BasicType.html#method.array_type">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.ptr_type-1"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/traits.rs.html#140-142">source</a><ahref="#method.ptr_type-1"class="anchor">§</a><h4class="code-header">fn <ahref="trait.BasicType.html#method.ptr_type"class="fn">ptr_type</a>(&self, address_space: <aclass="struct"href="../struct.AddressSpace.html"title="struct inkwell::AddressSpace">AddressSpace</a>) -><aclass="struct"href="struct.PointerType.html"title="struct inkwell::types::PointerType">PointerType</a><'ctx></h4></section></summary><spanclass="item-info"><divclass="stab deprecated"><spanclass="emoji">👎</span><span>Deprecated: Starting from version 15.0, LLVM doesn’t differentiate between pointer types. Use Context::ptr_type instead.</span></div></span><divclass='docblock'>Create a <code>PointerType</code> that points to this <code>BasicType</code>. <ahref="trait.BasicType.html#method.ptr_type">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-Clone-for-StructType%3C'ctx%3E"class="impl"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#20">source</a><ahref="#impl-Clone-for-StructType%3C'ctx%3E"class="anchor">§</a><h3class="code-header">impl<'ctx><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a> for <aclass="struct"href="struct.StructType.html"title="struct inkwell::types::StructType">StructType</a><'ctx></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/struct_type.rs.html#20">source</a><ahref="#method.clone"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#tymethod.clone"class="fn">clone</a>(&self) -><aclass="struct"href="struct.StructType.html"title="struct inkwell::types::StructType">StructType</a><'ctx></h4></section></summary><divclass='docblock'>Returns a copy of the value. <ahref="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html#tymethod.clone">Read more<
by <code>==</code>.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.ne"class="method trait-impl"><spanclass="rightside"><spanclass="since"title="Stable since Rust version 1.0.0">1.0.0</span> · <aclass="src"href="https://doc.rust-lang.org/1.78.0/src/core/cmp.rs.html#263">source</a></span><ahref="#method.ne"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/cmp/trait.PartialEq.html#method.ne"class="fn">ne</a>(&self, other: <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&Rhs</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a></h4></section></summary><divclass='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason.</div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-TryFrom%3CAnyTypeEnum%3C'ctx%3E%3E-for-StructType%3C'ctx%3E"class="impl"><aclass="src rightside"href="../../src/inkwell/types/enums.rs.html#56-76">source</a><ahref="#impl-TryFrom%3CAnyTypeEnum%3C'ctx%3E%3E-for-StructType%3C'ctx%3E"class="anchor">§</a><h3class="code-header">impl<'ctx><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><<aclass="enum"href="enum.AnyTypeEnum.html"title="enum inkwell::types::AnyTypeEnum">AnyTypeEnum</a><'ctx>> for <aclass="struct"href="struct.StructType.html"title="struct inkwell::types::StructType">StructType</a><'ctx></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-2"class="associatedtype trait-impl"><ahref="#associatedtype.Error-2"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.unit.html">()</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from-2"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/enums.rs.html#56-76">source</a><ahref="#method.try_from-2"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: <aclass="enum"href="enum.AnyTypeEnum.html"title="enum inkwell::types::AnyTypeEnum">AnyTypeEnum</a><'ctx>) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><Self, Self::<aclass="associatedtype"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"open><summary><sectionid="impl-TryFrom%3CBasicMetadataTypeEnum%3C'ctx%3E%3E-for-StructType%3C'ctx%3E"class="impl"><aclass="src rightside"href="../../src/inkwell/types/enums.rs.html#94-104">source</a><ahref="#impl-TryFrom%3CBasicMetadataTypeEnum%3C'ctx%3E%3E-for-StructType%3C'ctx%3E"class="anchor">§</a><h3class="code-header">impl<'ctx><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><<aclass="enum"href="enum.BasicMetadataTypeEnum.html"title="enum inkwell::types::BasicMetadataTypeEnum">BasicMetadataTypeEnum</a><'ctx>> for <aclass="struct"href="struct.StructType.html"title="struct inkwell::types::StructType">StructType</a><'ctx></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error"class="associatedtype trait-impl"><ahref="#associatedtype.Error"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.unit.html">()</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from"class="method trait-impl"><aclass="src rightside"href="../../src/inkwell/types/enums.rs.html#94-104">source</a><ahref="#method.try_from"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html
T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/any.rs.html#141">source</a><ahref="#method.type_id"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/any/trait.Any.html#tymethod.type_id"class="fn">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.78.0/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></h4></section></summary><divclass='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/1.78.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Borrow%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#208">source</a><ahref="#impl-Borrow%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#210">source</a><ahref="#method.borrow"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html#tymethod.borrow"class="fn">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&T</a></h4></section></summary><divclass='docblock'>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.78.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-BorrowMut%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#216">source</a><ahref="#impl-BorrowMut%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html"title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<divclass="where">where
T: ?<aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.borrow_mut"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/borrow.rs.html#217">source</a><ahref="#method.borrow_mut"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut"class="fn">borrow_mut</a>(&mut self) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&mut T</a></h4></section></summary><divclass='docblock'>Mutably borrows from an owned value. <ahref="https://doc.rust-lang.org/1.78.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-From%3CT%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#765">source</a><ahref="#impl-From%3CT%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.from-3"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#768">source</a><ahref="#method.from-3"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html#tymethod.from"class="fn">from</a>(t: T) -> T</h4></section></summary><divclass="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-Into%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#748-750">source</a><ahref="#impl-Into%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><U> for T<divclass="where">where
<code><ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.From.html"title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-IntoEither-for-T"class="impl"><aclass="src rightside"href="../../src/either/into_either.rs.html#64">source</a><ahref="#impl-IntoEither-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="../../either/into_either/trait.IntoEither.html"title="trait either::into_either::IntoEither">IntoEither</a> for T</h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.into_either"class="method trait-impl"><aclass="src rightside"href="../../src/either/into_either.rs.html#29">source</a><ahref="#method.into_either"class="anchor">§</a><h4class="code-header">fn <ahref="../../either/into_either/trait.IntoEither.html#method.into_either"class="fn">into_either</a>(self, into_left: <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a>) -><aclass="enum"href="../../either/enum.Either.html"title="enum either::Either">Either</a><Self, Self></h4></section></summary><divclass='docblock'>Converts <code>self</code> into a <ahref="../../either/enum.Either.html#variant.Left"title="variant either::Either::Left"><code>Left</code></a> variant of <ahref="../../either/enum.Either.html"title="enum either::Either"><code>Either<Self, Self></code></a>
Converts <code>self</code> into a <ahref="../../either/enum.Either.html#variant.Right"title="variant either::Either::Right"><code>Right</code></a> variant of <ahref="../../either/enum.Either.html"title="enum either::Either"><code>Either<Self, Self></code></a>
F: <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/ops/function/trait.FnOnce.html"title="trait core::ops::function::FnOnce">FnOnce</a>(<aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&Self</a>) -><aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.bool.html">bool</a>,</div></h4></section></summary><divclass='docblock'>Converts <code>self</code> into a <ahref="../../either/enum.Either.html#variant.Left"title="variant either::Either::Left"><code>Left</code></a> variant of <ahref="../../either/enum.Either.html"title="enum either::Either"><code>Either<Self, Self></code></a>
if <code>into_left(&self)</code> returns <code>true</code>.
Converts <code>self</code> into a <ahref="../../either/enum.Either.html#variant.Right"title="variant either::Either::Right"><code>Right</code></a> variant of <ahref="../../either/enum.Either.html"title="enum either::Either"><code>Either<Self, Self></code></a>
otherwise. <ahref="../../either/into_either/trait.IntoEither.html#method.into_either_with">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-ToOwned-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#83-85">source</a><ahref="#impl-ToOwned-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html"title="trait alloc::borrow::ToOwned">ToOwned</a> for T<divclass="where">where
T: <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/clone/trait.Clone.html"title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Owned"class="associatedtype trait-impl"><ahref="#associatedtype.Owned"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned"class="associatedtype">Owned</a> = T</h4></section></summary><divclass='docblock'>The resulting type after obtaining ownership.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.to_owned"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#88">source</a><ahref="#method.to_owned"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned"class="fn">to_owned</a>(&self) -> T</h4></section></summary><divclass='docblock'>Creates owned data from borrowed data, usually by cloning. <ahref="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.clone_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/alloc/borrow.rs.html#92">source</a><ahref="#method.clone_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#method.clone_into"class="fn">clone_into</a>(&self, target: <aclass="primitive"href="https://doc.rust-lang.org/1.78.0/std/primitive.reference.html">&mut T</a>)</h4></section></summary><divclass='docblock'>Uses borrowed data to replace owned data, usually by cloning. <ahref="https://doc.rust-lang.org/1.78.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-ToString-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/alloc/string.rs.html#2543">source</a><ahref="#impl-ToString-for-T"class="anchor">§</a><h3class="code-header">impl<T><aclass="trait"href="https://doc.rust-lang.org/1.78.0/alloc/string/trait.ToString.html"title="trait alloc::string::ToString">ToString</a> for T<divclass="where">where
T: <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/fmt/trait.Display.html"title="trait core::fmt::Display">Display</a> + ?<aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle method-toggle"open><summary><sectionid="method.to_string"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/alloc/string.rs.html#2549">source</a><ahref="#method.to_string"class="anchor">§</a><h4class="code-header">default fn <ahref="https://doc.rust-lang.org/1.78.0/alloc/string/trait.ToString.html#tymethod.to_string"class="fn">to_string</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/1.78.0/alloc/string/struct.String.html"title="struct alloc::string::String">String</a></h4></section></summary><divclass='docblock'>Converts the given value to a <code>String</code>. <ahref="https://doc.rust-lang.org/1.78.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryFrom%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#805-807">source</a><ahref="#impl-TryFrom%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.Into.html"title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-4"class="associatedtype trait-impl"><ahref="#associatedtype.Error-4"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"class="associatedtype">Error</a> = <aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/convert/enum.Infallible.html"title="enum core::convert::Infallible">Infallible</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_from-3"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#812">source</a><ahref="#method.try_from-3"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#tymethod.try_from"class="fn">try_from</a>(value: U) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><T, <T as <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><U>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details><detailsclass="toggle implementors-toggle"><summary><sectionid="impl-TryInto%3CU%3E-for-T"class="impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#790-792">source</a><ahref="#impl-TryInto%3CU%3E-for-T"class="anchor">§</a><h3class="code-header">impl<T, U><aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html"title="trait core::convert::TryInto">TryInto</a><U> for T<divclass="where">where
U: <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><divclass="impl-items"><detailsclass="toggle"open><summary><sectionid="associatedtype.Error-3"class="associatedtype trait-impl"><ahref="#associatedtype.Error-3"class="anchor">§</a><h4class="code-header">type <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#associatedtype.Error"class="associatedtype">Error</a> = <U as <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><divclass='docblock'>The type returned in the event of a conversion error.</div></details><detailsclass="toggle method-toggle"open><summary><sectionid="method.try_into"class="method trait-impl"><aclass="src rightside"href="https://doc.rust-lang.org/1.78.0/src/core/convert/mod.rs.html#797">source</a><ahref="#method.try_into"class="anchor">§</a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryInto.html#tymethod.try_into"class="fn">try_into</a>(self) -><aclass="enum"href="https://doc.rust-lang.org/1.78.0/core/result/enum.Result.html"title="enum core::result::Result">Result</a><U, <U as <aclass="trait"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html"title="trait core::convert::TryFrom">TryFrom</a><T>>::<aclass="associatedtype"href="https://doc.rust-lang.org/1.78.0/core/convert/trait.TryFrom.html#associatedtype.Error"title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><divclass='docblock'>Performs the conversion.</div></details></div></details></div><scripttype="text/json"id="notable-traits-data">{"FieldTypesIter<'ctx>":"<h3>Notable traits for <code><a class=\"struct\" href=\"struct.FieldTypesIter.html\" title=\"struct inkwell::types::FieldTypesIter\">FieldTypesIter</a><'ctx></code></h3><pre><code><div class=\"where\">impl<'ctx> <a class=\"trait\" href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html\" title=\"trait core::iter::traits::iterator::Iterator\">Iterator</a> for <a class=\"struct\" href=\"struct.FieldTypesIter.html\" title=\"struct inkwell::types::FieldTypesIter\">FieldTypesIter</a><'ctx></div><div class=\"where\"> type <a href=\"https://doc.rust-lang.org/1.78.0/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item\" class=\"associatedtype\">Item</a> = <a class=\"enum\" href=\"enum.BasicTypeEnum.html\" title=\"enum inkwell::types::BasicTypeEnum\">BasicTypeEnum</a><'ctx>;</div>"}</script></section></div></main></body></html>