-
Notifications
You must be signed in to change notification settings - Fork 758
/
struct.Artifact.html
144 lines (144 loc) · 72.7 KB
/
struct.Artifact.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<!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="A compiled wasm module, ready to be instantiated."><title>Artifact in wasmer_compiler::engine::artifact - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-cb6f1f67f1bcd037.css" id="mainThemeStyle"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="wasmer_compiler" data-themes="" data-resource-suffix="" data-rustdoc-version="1.73.0 (cc66ad468 2023-10-03)" data-channel="1.73.0" data-search-js="search-6dfdfced5eff6596.js" data-settings-js="settings-de11bff964e9d4e5.js" data-settings-css="settings-8c76f75bfb6bd192.css" data-theme-light-css="light-1596385f77d47ef2.css" data-theme-dark-css="dark-0a43001d3fc2282c.css" data-theme-ayu-css="ayu-fd19013d6ce078bf.css" ><script src="../../../static.files/storage-db41da1a38ea3cb8.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-0795b7d26be81095.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../../../static.files/light-1596385f77d47ef2.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../../../static.files/dark-0a43001d3fc2282c.css"><link rel="stylesheet" href="../../../static.files/noscript-cffde32267a19fd6.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">☰</button><a class="logo-container" href="../../../wasmer_compiler/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2></h2></nav><nav class="sidebar"><a class="logo-container" href="../../../wasmer_compiler/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Artifact</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.allocated">allocated</a></li><li><a href="#structfield.artifact">artifact</a></li><li><a href="#structfield.id">id</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.allocated">allocated</a></li><li><a href="#method.deserialize">deserialize</a></li><li><a href="#method.deserialize_object">deserialize_object</a></li><li><a href="#method.deserialize_unchecked">deserialize_unchecked</a></li><li><a href="#method.finish_instantiation">finish_instantiation</a></li><li><a href="#method.finished_dynamic_function_trampolines">finished_dynamic_function_trampolines</a></li><li><a href="#method.finished_function_call_trampolines">finished_function_call_trampolines</a></li><li><a href="#method.finished_functions">finished_functions</a></li><li><a href="#method.from_parts">from_parts</a></li><li><a href="#method.generate_metadata">generate_metadata</a></li><li><a href="#method.generate_object">generate_object</a></li><li><a href="#method.get_byte_slice">get_byte_slice</a></li><li><a href="#method.id">id</a></li><li><a href="#method.instantiate">instantiate</a></li><li><a href="#method.internal_register_frame_info">internal_register_frame_info</a></li><li><a href="#method.internal_take_frame_info_registration">internal_take_frame_info_registration</a></li><li><a href="#method.is_deserializable">is_deserializable</a></li><li><a href="#method.metadata">metadata</a></li><li><a href="#method.new">new</a></li><li><a href="#method.preinstantiate">preinstantiate</a></li><li><a href="#method.register_frame_info">register_frame_info</a></li><li><a href="#method.signatures">signatures</a></li><li><a href="#method.take_frame_info_registration">take_frame_info_registration</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-ArtifactCreate%3C'a%3E-for-Artifact">ArtifactCreate<'a></a></li><li><a href="#impl-Debug-for-Artifact">Debug</a></li><li><a href="#impl-Eq-for-Artifact">Eq</a></li><li><a href="#impl-PartialEq%3CArtifact%3E-for-Artifact">PartialEq<Artifact></a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Artifact">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Artifact">Send</a></li><li><a href="#impl-Sync-for-Artifact">Sync</a></li><li><a href="#impl-Unpin-for-Artifact">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Artifact">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Artifact">Any</a></li><li><a href="#impl-ArchivePointee-for-Artifact">ArchivePointee</a></li><li><a href="#impl-Borrow%3CT%3E-for-Artifact">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Artifact">BorrowMut<T></a></li><li><a href="#impl-Deserialize%3CWith%3CT,+W%3E,+D%3E-for-Artifact">Deserialize<With<T, W>, D></a></li><li><a href="#impl-Equivalent%3CK%3E-for-Artifact">Equivalent<K></a></li><li><a href="#impl-Equivalent%3CK%3E-for-Artifact-1">Equivalent<K></a></li><li><a href="#impl-Equivalent%3CK%3E-for-Artifact-2">Equivalent<K></a></li><li><a href="#impl-From%3CT%3E-for-Artifact">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-Artifact">Into<U></a></li><li><a href="#impl-LayoutRaw-for-Artifact">LayoutRaw</a></li><li><a href="#impl-Pointee-for-Artifact">Pointee</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Artifact">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-Artifact">TryInto<U></a></li><li><a href="#impl-Upcastable-for-Artifact">Upcastable</a></li></ul></section><h2><a href="index.html">In wasmer_compiler::engine::artifact</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="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"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../../index.html">wasmer_compiler</a>::<wbr><a href="../index.html">engine</a>::<wbr><a href="index.html">artifact</a>::<wbr><a class="struct" href="#">Artifact</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/wasmer_compiler/engine/artifact.rs.html#93-99">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>−</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Artifact {
id: <a class="struct" href="struct.ArtifactId.html" title="struct wasmer_compiler::engine::artifact::ArtifactId">ArtifactId</a>,
artifact: <a class="enum" href="enum.ArtifactBuildVariant.html" title="enum wasmer_compiler::engine::artifact::ArtifactBuildVariant">ArtifactBuildVariant</a>,
allocated: <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.AllocatedArtifact.html" title="struct wasmer_compiler::engine::artifact::AllocatedArtifact">AllocatedArtifact</a>>,
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A compiled wasm module, ready to be instantiated.</p>
</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.id" class="structfield small-section-header"><a href="#structfield.id" class="anchor field">§</a><code>id: <a class="struct" href="struct.ArtifactId.html" title="struct wasmer_compiler::engine::artifact::ArtifactId">ArtifactId</a></code></span><span id="structfield.artifact" class="structfield small-section-header"><a href="#structfield.artifact" class="anchor field">§</a><code>artifact: <a class="enum" href="enum.ArtifactBuildVariant.html" title="enum wasmer_compiler::engine::artifact::ArtifactBuildVariant">ArtifactBuildVariant</a></code></span><span id="structfield.allocated" class="structfield small-section-header"><a href="#structfield.allocated" class="anchor field">§</a><code>allocated: <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.AllocatedArtifact.html" title="struct wasmer_compiler::engine::artifact::AllocatedArtifact">AllocatedArtifact</a>></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Artifact" class="impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#109-429">source</a><a href="#impl-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#112-158">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
engine: &<a class="struct" href="../inner/struct.Engine.html" title="struct wasmer_compiler::engine::inner::Engine">Engine</a>,
data: &[<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>],
tunables: &dyn <a class="trait" href="../tunables/trait.Tunables.html" title="trait wasmer_compiler::engine::tunables::Tunables">Tunables</a>
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, CompileError></h4></section></summary><div class="docblock"><p>Compile a data buffer into a <code>ArtifactBuild</code>, which may then be instantiated.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.allocated" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#163-165">source</a><h4 class="code-header">pub fn <a href="#method.allocated" class="fn">allocated</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>This indicates if the Artifact is allocated and can be run by the current
host. In case it can’t be run (for example, if the artifact is cross compiled to
other architecture), it will return false.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.id" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#172-174">source</a><h4 class="code-header">pub fn <a href="#method.id" class="fn">id</a>(&self) -> &<a class="struct" href="struct.ArtifactId.html" title="struct wasmer_compiler::engine::artifact::ArtifactId">ArtifactId</a></h4></section></summary><div class="docblock"><p>A unique identifier for this object.</p>
<p>This exists to allow us to compare two Artifacts for equality. Otherwise,
comparing two trait objects unsafely relies on implementation details
of trait representation.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#192-227">source</a><h4 class="code-header">pub unsafe fn <a href="#method.deserialize" class="fn">deserialize</a>(
engine: &<a class="struct" href="../inner/struct.Engine.html" title="struct wasmer_compiler::engine::inner::Engine">Engine</a>,
bytes: OwnedBuffer
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, DeserializeError></h4></section></summary><div class="docblock"><p>Deserialize a serialized artifact.</p>
<h5 id="safety"><a href="#safety">Safety</a></h5>
<p>This function loads executable code into memory.
You must trust the loaded bytes to be valid for the chosen engine and
for the host CPU architecture.
In contrast to <a href="struct.Artifact.html#method.deserialize_unchecked" title="associated function wasmer_compiler::engine::artifact::Artifact::deserialize_unchecked"><code>Self::deserialize_unchecked</code></a> the artifact layout is
validated, which increases safety.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.deserialize_unchecked" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#237-272">source</a><h4 class="code-header">pub unsafe fn <a href="#method.deserialize_unchecked" class="fn">deserialize_unchecked</a>(
engine: &<a class="struct" href="../inner/struct.Engine.html" title="struct wasmer_compiler::engine::inner::Engine">Engine</a>,
bytes: OwnedBuffer
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, DeserializeError></h4></section></summary><div class="docblock"><p>Deserialize a serialized artifact.</p>
<p>NOTE: You should prefer <a href="struct.Artifact.html#method.deserialize" title="associated function wasmer_compiler::engine::artifact::Artifact::deserialize"><code>Self::deserialize</code></a>.</p>
<h5 id="safety-1"><a href="#safety-1">Safety</a></h5>
<p>See <a href="struct.Artifact.html#method.deserialize" title="associated function wasmer_compiler::engine::artifact::Artifact::deserialize"><code>Self::deserialize</code></a>.
In contrast to the above, this function skips artifact layout validation,
which increases the risk of loading invalid artifacts.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_parts" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#275-423">source</a><h4 class="code-header">pub fn <a href="#method.from_parts" class="fn">from_parts</a>(
engine_inner: &mut <a class="struct" href="../inner/struct.EngineInner.html" title="struct wasmer_compiler::engine::inner::EngineInner">EngineInner</a>,
artifact: <a class="enum" href="enum.ArtifactBuildVariant.html" title="enum wasmer_compiler::engine::artifact::ArtifactBuildVariant">ArtifactBuildVariant</a>,
target: &Target
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, DeserializeError></h4></section></summary><div class="docblock"><p>Construct a <code>ArtifactBuild</code> from component parts.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.is_deserializable" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#426-428">source</a><h4 class="code-header">pub fn <a href="#method.is_deserializable" class="fn">is_deserializable</a>(bytes: &[<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>]) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Check if the provided bytes look like a serialized <code>ArtifactBuild</code>.</p>
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Artifact-1" class="impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#633-1198">source</a><a href="#impl-Artifact-1" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.register_frame_info" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#641-643">source</a><h4 class="code-header">pub fn <a href="#method.register_frame_info" class="fn">register_frame_info</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, DeserializeError></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 4.0.0: done automaticaly by Artifact::from_parts, use ‘take_frame_info_registration’ if you use this method</span></div></span></summary><div class="docblock"><p>Register thie <code>Artifact</code> stack frame information into the global scope.</p>
<p>This is not required anymore as it’s done automaticaly when creating by ‘Artifact::from_parts’</p>
</div></details><section id="method.internal_register_frame_info" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#645-697">source</a><h4 class="code-header">fn <a href="#method.internal_register_frame_info" class="fn">internal_register_frame_info</a>(&mut self) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, DeserializeError></h4></section><details class="toggle method-toggle" open><summary><section id="method.take_frame_info_registration" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#702-704">source</a><h4 class="code-header">pub fn <a href="#method.take_frame_info_registration" class="fn">take_frame_info_registration</a>(
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../trap/frame_info/struct.GlobalFrameInfoRegistration.html" title="struct wasmer_compiler::engine::trap::frame_info::GlobalFrameInfoRegistration">GlobalFrameInfoRegistration</a>></h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 4.0.0: done automaticaly by Artifact::from_parts.</span></div></span></summary><div class="docblock"><p>The GlobalFrameInfoRegistration needs to be transfered to EngineInner if
register_frame_info has been used.</p>
</div></details><section id="method.internal_take_frame_info_registration" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#706-714">source</a><h4 class="code-header">fn <a href="#method.internal_take_frame_info_registration" class="fn">internal_take_frame_info_registration</a>(
&mut self
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../trap/frame_info/struct.GlobalFrameInfoRegistration.html" title="struct wasmer_compiler::engine::trap::frame_info::GlobalFrameInfoRegistration">GlobalFrameInfoRegistration</a>></h4></section><details class="toggle method-toggle" open><summary><section id="method.finished_functions" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#718-724">source</a><h4 class="code-header">pub fn <a href="#method.finished_functions" class="fn">finished_functions</a>(
&self
) -> &BoxedSlice<LocalFunctionIndex, FunctionBodyPtr></h4></section></summary><div class="docblock"><p>Returns the functions allocated in memory or this <code>Artifact</code>
ready to be run.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.finished_function_call_trampolines" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#728-734">source</a><h4 class="code-header">pub fn <a href="#method.finished_function_call_trampolines" class="fn">finished_function_call_trampolines</a>(
&self
) -> &BoxedSlice<SignatureIndex, VMTrampoline></h4></section></summary><div class="docblock"><p>Returns the function call trampolines allocated in memory of this
<code>Artifact</code>, ready to be run.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.finished_dynamic_function_trampolines" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#738-746">source</a><h4 class="code-header">pub fn <a href="#method.finished_dynamic_function_trampolines" class="fn">finished_dynamic_function_trampolines</a>(
&self
) -> &BoxedSlice<FunctionIndex, FunctionBodyPtr></h4></section></summary><div class="docblock"><p>Returns the dynamic function trampolines allocated in memory
of this <code>Artifact</code>, ready to be run.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.signatures" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#749-755">source</a><h4 class="code-header">pub fn <a href="#method.signatures" class="fn">signatures</a>(&self) -> &BoxedSlice<SignatureIndex, VMSharedSignatureIndex></h4></section></summary><div class="docblock"><p>Returns the associated VM signatures for this <code>Artifact</code>.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.preinstantiate" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#759-761">source</a><h4 class="code-header">pub fn <a href="#method.preinstantiate" class="fn">preinstantiate</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.InstantiationError.html" title="enum wasmer_compiler::engine::error::InstantiationError">InstantiationError</a>></h4></section></summary><div class="docblock"><p>Do preinstantiation logic that is executed before instantiating</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.instantiate" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#769-840">source</a><h4 class="code-header">pub unsafe fn <a href="#method.instantiate" class="fn">instantiate</a>(
&self,
tunables: &dyn <a class="trait" href="../tunables/trait.Tunables.html" title="trait wasmer_compiler::engine::tunables::Tunables">Tunables</a>,
imports: &[VMExtern],
context: &mut StoreObjects
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><VMInstance, <a class="enum" href="../error/enum.InstantiationError.html" title="enum wasmer_compiler::engine::error::InstantiationError">InstantiationError</a>></h4></section></summary><div class="docblock"><p>Crate an <code>Instance</code> from this <code>Artifact</code>.</p>
<h5 id="safety-2"><a href="#safety-2">Safety</a></h5>
<p>See [<code>VMInstance::new</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.finish_instantiation" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#848-864">source</a><h4 class="code-header">pub unsafe fn <a href="#method.finish_instantiation" class="fn">finish_instantiation</a>(
&self,
config: &VMConfig,
trap_handler: <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.pointer.html">*const </a>TrapHandlerFn<'static>>,
handle: &mut VMInstance
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a>, <a class="enum" href="../error/enum.InstantiationError.html" title="enum wasmer_compiler::engine::error::InstantiationError">InstantiationError</a>></h4></section></summary><div class="docblock"><p>Finishes the instantiation of a just created <code>VMInstance</code>.</p>
<h5 id="safety-3"><a href="#safety-3">Safety</a></h5>
<p>See [<code>VMInstance::finish_instantiation</code>].</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.generate_metadata" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#869-915">source</a><h4 class="code-header">pub fn <a href="#method.generate_metadata" class="fn">generate_metadata</a><'data>(
data: &'data [<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>],
compiler: &dyn <a class="trait" href="../../compiler/trait.Compiler.html" title="trait wasmer_compiler::compiler::Compiler">Compiler</a>,
tunables: &dyn <a class="trait" href="../tunables/trait.Tunables.html" title="trait wasmer_compiler::engine::tunables::Tunables">Tunables</a>,
features: &<a class="struct" href="../../struct.Features.html" title="struct wasmer_compiler::Features">Features</a>
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(CompileModuleInfo, PrimaryMap<LocalFunctionIndex, <a class="struct" href="../../translator/environ/struct.FunctionBodyData.html" title="struct wasmer_compiler::translator::environ::FunctionBodyData">FunctionBodyData</a><'data>>, <a class="struct" href="../../lib/std/vec/struct.Vec.html" title="struct wasmer_compiler::lib::std::vec::Vec">Vec</a><DataInitializer<'data>>, <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../translator/state/struct.ModuleTranslationState.html" title="struct wasmer_compiler::translator::state::ModuleTranslationState">ModuleTranslationState</a>>), CompileError></h4></section></summary><div class="docblock"><p>Generate a compilation</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.metadata" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#920-962">source</a><h4 class="code-header">pub fn <a href="#method.metadata" class="fn">metadata</a><'a>(
compiler: &dyn <a class="trait" href="../../compiler/trait.Compiler.html" title="trait wasmer_compiler::compiler::Compiler">Compiler</a>,
data: &'a [<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>],
metadata_prefix: <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.str.html">str</a>>,
target: &Target,
tunables: &dyn <a class="trait" href="../tunables/trait.Tunables.html" title="trait wasmer_compiler::engine::tunables::Tunables">Tunables</a>,
features: &<a class="struct" href="../../struct.Features.html" title="struct wasmer_compiler::Features">Features</a>
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(ModuleMetadata, <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="../../translator/state/struct.ModuleTranslationState.html" title="struct wasmer_compiler::translator::state::ModuleTranslationState">ModuleTranslationState</a>>, PrimaryMap<LocalFunctionIndex, <a class="struct" href="../../translator/environ/struct.FunctionBodyData.html" title="struct wasmer_compiler::translator::environ::FunctionBodyData">FunctionBodyData</a><'a>>), CompileError></h4></section></summary><div class="docblock"><p>Generate the metadata object for the module</p>
</div></details><details class="toggle method-toggle" open><summary><section id="method.generate_object" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#972-1048">source</a><h4 class="code-header">pub fn <a href="#method.generate_object" class="fn">generate_object</a><'data>(
compiler: &dyn <a class="trait" href="../../compiler/trait.Compiler.html" title="trait wasmer_compiler::compiler::Compiler">Compiler</a>,
data: &[<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>],
metadata_prefix: <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><&<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.str.html">str</a>>,
target: &'data Target,
tunables: &dyn <a class="trait" href="../tunables/trait.Tunables.html" title="trait wasmer_compiler::engine::tunables::Tunables">Tunables</a>,
features: &<a class="struct" href="../../struct.Features.html" title="struct wasmer_compiler::Features">Features</a>
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><(ModuleInfo, Object<'data>, <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.usize.html">usize</a>, <a class="struct" href="../../lib/std/boxed/struct.Box.html" title="struct wasmer_compiler::lib::std::boxed::Box">Box</a><dyn SymbolRegistry>), CompileError></h4></section></summary><div class="docblock"><p>Compile a module into an object file, which can be statically linked against.</p>
<p>The <code>metadata_prefix</code> is an optional prefix for the object name to make the
function names in the object file unique. When set, the function names will
be <code>wasmer_function_{prefix}_{id}</code> and the object metadata will be addressable
using <code>WASMER_METADATA_{prefix}_LENGTH</code> and <code>WASMER_METADATA_{prefix}_DATA</code>.</p>
</div></details><section id="method.get_byte_slice" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#1064-1075">source</a><h4 class="code-header">fn <a href="#method.get_byte_slice" class="fn">get_byte_slice</a>(
input: &[<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>],
start: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.usize.html">usize</a>,
end: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.usize.html">usize</a>
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><&[<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>], DeserializeError></h4></section><details class="toggle method-toggle" open><summary><section id="method.deserialize_object" class="method"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#1082-1197">source</a><h4 class="code-header">pub unsafe fn <a href="#method.deserialize_object" class="fn">deserialize_object</a>(
engine: &<a class="struct" href="../inner/struct.Engine.html" title="struct wasmer_compiler::engine::inner::Engine">Engine</a>,
bytes: OwnedBuffer
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, DeserializeError></h4></section></summary><div class="docblock"><p>Deserialize a ArtifactBuild from an object file</p>
<h5 id="safety-4"><a href="#safety-4">Safety</a></h5>
<p>The object must be a valid static object generated by wasmer.</p>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-ArtifactCreate%3C'a%3E-for-Artifact" class="impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#447-487">source</a><a href="#impl-ArtifactCreate%3C'a%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<'a> <a class="trait" href="../../traits/trait.ArtifactCreate.html" title="trait wasmer_compiler::traits::ArtifactCreate">ArtifactCreate</a><'a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.OwnedDataInitializer" class="associatedtype trait-impl"><a href="#associatedtype.OwnedDataInitializer" class="anchor">§</a><h4 class="code-header">type <a href="../../traits/trait.ArtifactCreate.html#associatedtype.OwnedDataInitializer" class="associatedtype">OwnedDataInitializer</a> = <<a class="enum" href="enum.ArtifactBuildVariant.html" title="enum wasmer_compiler::engine::artifact::ArtifactBuildVariant">ArtifactBuildVariant</a> as <a class="trait" href="../../traits/trait.ArtifactCreate.html" title="trait wasmer_compiler::traits::ArtifactCreate">ArtifactCreate</a><'a>>::<a class="associatedtype" href="../../traits/trait.ArtifactCreate.html#associatedtype.OwnedDataInitializer" title="type wasmer_compiler::traits::ArtifactCreate::OwnedDataInitializer">OwnedDataInitializer</a></h4></section></summary><div class='docblock'>Type of <code>OwnedDataInitializer</code> returned by the <code>data_initializers</code> method</div></details><details class="toggle" open><summary><section id="associatedtype.OwnedDataInitializerIterator" class="associatedtype trait-impl"><a href="#associatedtype.OwnedDataInitializerIterator" class="anchor">§</a><h4 class="code-header">type <a href="../../traits/trait.ArtifactCreate.html#associatedtype.OwnedDataInitializerIterator" class="associatedtype">OwnedDataInitializerIterator</a> = <<a class="enum" href="enum.ArtifactBuildVariant.html" title="enum wasmer_compiler::engine::artifact::ArtifactBuildVariant">ArtifactBuildVariant</a> as <a class="trait" href="../../traits/trait.ArtifactCreate.html" title="trait wasmer_compiler::traits::ArtifactCreate">ArtifactCreate</a><'a>>::<a class="associatedtype" href="../../traits/trait.ArtifactCreate.html#associatedtype.OwnedDataInitializerIterator" title="type wasmer_compiler::traits::ArtifactCreate::OwnedDataInitializerIterator">OwnedDataInitializerIterator</a></h4></section></summary><div class='docblock'>Type of iterator returned by the <code>data_initializers</code> method</div></details><details class="toggle method-toggle" open><summary><section id="method.set_module_info_name" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#452-454">source</a><a href="#method.set_module_info_name" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.set_module_info_name" class="fn">set_module_info_name</a>(&mut self, name: <a class="struct" href="../../lib/std/string/struct.String.html" title="struct wasmer_compiler::lib::std::string::String">String</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Sets the <code>ModuleInfo</code> name</div></details><details class="toggle method-toggle" open><summary><section id="method.create_module_info" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#456-458">source</a><a href="#method.create_module_info" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.create_module_info" class="fn">create_module_info</a>(&self) -> <a class="struct" href="../../lib/std/sync/struct.Arc.html" title="struct wasmer_compiler::lib::std::sync::Arc">Arc</a><ModuleInfo></h4></section></summary><div class='docblock'>Create a <code>ModuleInfo</code> for instantiation</div></details><details class="toggle method-toggle" open><summary><section id="method.module_info" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#460-462">source</a><a href="#method.module_info" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.module_info" class="fn">module_info</a>(&self) -> &ModuleInfo</h4></section></summary><div class='docblock'>Returns the <code>ModuleInfo</code> for instantiation</div></details><details class="toggle method-toggle" open><summary><section id="method.features" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#464-466">source</a><a href="#method.features" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.features" class="fn">features</a>(&self) -> &<a class="struct" href="../../struct.Features.html" title="struct wasmer_compiler::Features">Features</a></h4></section></summary><div class='docblock'>Returns the features for this Artifact</div></details><details class="toggle method-toggle" open><summary><section id="method.cpu_features" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#468-470">source</a><a href="#method.cpu_features" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.cpu_features" class="fn">cpu_features</a>(&self) -> EnumSet<CpuFeature></h4></section></summary><div class='docblock'>Returns the CPU features for this Artifact</div></details><details class="toggle method-toggle" open><summary><section id="method.data_initializers" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#472-474">source</a><a href="#method.data_initializers" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.data_initializers" class="fn">data_initializers</a>(&'a self) -> Self::<a class="associatedtype" href="../../traits/trait.ArtifactCreate.html#associatedtype.OwnedDataInitializerIterator" title="type wasmer_compiler::traits::ArtifactCreate::OwnedDataInitializerIterator">OwnedDataInitializerIterator</a></h4></section></summary><div class='docblock'>Returns data initializers to pass to <code>VMInstance::initialize</code></div></details><details class="toggle method-toggle" open><summary><section id="method.memory_styles" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#476-478">source</a><a href="#method.memory_styles" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.memory_styles" class="fn">memory_styles</a>(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle></h4></section></summary><div class='docblock'>Returns the memory styles associated with this <code>Artifact</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.table_styles" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#480-482">source</a><a href="#method.table_styles" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.table_styles" class="fn">table_styles</a>(&self) -> &PrimaryMap<TableIndex, TableStyle></h4></section></summary><div class='docblock'>Returns the table plans associated with this <code>Artifact</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#484-486">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.ArtifactCreate.html#tymethod.serialize" class="fn">serialize</a>(&self) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="../../lib/std/vec/struct.Vec.html" title="struct wasmer_compiler::lib::std::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.u8.html">u8</a>>, SerializeError></h4></section></summary><div class='docblock'>Serializes an artifact into bytes</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Artifact" class="impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#438-445">source</a><a href="#impl-Debug-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../../lib/std/fmt/trait.Debug.html" title="trait wasmer_compiler::lib::std::fmt::Debug">Debug</a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#439-444">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="../../lib/std/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="../../lib/std/fmt/struct.Formatter.html" title="struct wasmer_compiler::lib::std::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="../../lib/std/fmt/type.Result.html" title="type wasmer_compiler::lib::std::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="../../lib/std/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CArtifact%3E-for-Artifact" class="impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#431-435">source</a><a href="#impl-PartialEq%3CArtifact%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a><<a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a>> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#432-434">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&Self</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.73.0/src/core/cmp.rs.html#226">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&Rhs</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='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><section id="impl-Eq-for-Artifact" class="impl"><a class="src rightside" href="../../../src/wasmer_compiler/engine/artifact.rs.html#436">source</a><a href="#impl-Eq-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Artifact" class="impl"><a href="#impl-RefUnwindSafe-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section><section id="impl-Send-for-Artifact" class="impl"><a href="#impl-Send-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section><section id="impl-Sync-for-Artifact" class="impl"><a href="#impl-Sync-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section><section id="impl-Unpin-for-Artifact" class="impl"><a href="#impl-Unpin-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section><section id="impl-UnwindSafe-for-Artifact" class="impl"><a href="#impl-UnwindSafe-for-Artifact" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Artifact.html" title="struct wasmer_compiler::engine::artifact::Artifact">Artifact</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-Artifact" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.73.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ArchivePointee-for-Artifact" class="impl"><a href="#impl-ArchivePointee-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> ArchivePointee for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ArchivedMetadata" class="associatedtype trait-impl"><a href="#associatedtype.ArchivedMetadata" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ArchivedMetadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a></h4></section></summary><div class='docblock'>The archived version of the pointer metadata for this type.</div></details><details class="toggle method-toggle" open><summary><section id="method.pointer_metadata" class="method trait-impl"><a href="#method.pointer_metadata" class="anchor">§</a><h4 class="code-header">fn <a class="fn">pointer_metadata</a>(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata</h4></section></summary><div class='docblock'>Converts some archived metadata to the pointer metadata for itself.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Artifact" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="../../lib/std/borrow/trait.Borrow.html" title="trait wasmer_compiler::lib::std::borrow::Borrow">Borrow</a><T> for T<span class="where fmt-newline">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="../../lib/std/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="../../lib/std/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Artifact" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="../../lib/std/borrow/trait.BorrowMut.html" title="trait wasmer_compiler::lib::std::borrow::BorrowMut">BorrowMut</a><T> for T<span class="where fmt-newline">where
T: ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../../lib/std/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="../../lib/std/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Deserialize%3CWith%3CT,+W%3E,+D%3E-for-Artifact" class="impl"><a href="#impl-Deserialize%3CWith%3CT,+W%3E,+D%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<F, W, T, D> Deserialize<With<T, W>, D> for F<span class="where fmt-newline">where
W: DeserializeWith<F, T, D>,
D: Fallible + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
F: ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize-1" class="method trait-impl"><a href="#method.deserialize-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deserialize</a>(
&self,
deserializer: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&mut D</a>
) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><With<T, W>, <D as Fallible>::Error></h4></section></summary><div class='docblock'>Deserializes using the given deserializer</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Artifact" class="impl"><a class="src rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#18">source</a><a href="#impl-Equivalent%3CK%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<Q, K> <a class="trait" href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html" title="trait indexmap::equivalent::Equivalent">Equivalent</a><K> for Q<span class="where fmt-newline">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="../../lib/std/borrow/trait.Borrow.html" title="trait wasmer_compiler::lib::std::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a class="src rightside" href="https://docs.rs/indexmap/1/src/indexmap/equivalent.rs.html#24">source</a><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/indexmap/1/indexmap/equivalent/trait.Equivalent.html#tymethod.equivalent" class="fn">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Artifact-1" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Artifact-1" class="anchor">§</a><h3 class="code-header">impl<Q, K> Equivalent<K> for Q<span class="where fmt-newline">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="../../lib/std/borrow/trait.Borrow.html" title="trait wasmer_compiler::lib::std::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-1" class="method trait-impl"><a href="#method.equivalent-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Artifact-2" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Artifact-2" class="anchor">§</a><h3 class="code-header">impl<Q, K> Equivalent<K> for Q<span class="where fmt-newline">where
Q: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
K: <a class="trait" href="../../lib/std/borrow/trait.Borrow.html" title="trait wasmer_compiler::lib::std::borrow::Borrow">Borrow</a><Q> + ?<a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-2" class="method trait-impl"><a href="#method.equivalent-2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&self, key: <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.reference.html">&K</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Artifact" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Artifact" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<span class="where fmt-newline">where
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code><a href="https://doc.rust-lang.org/1.73.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><details class="toggle implementors-toggle"><summary><section id="impl-LayoutRaw-for-Artifact" class="impl"><a href="#impl-LayoutRaw-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> LayoutRaw for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.layout_raw" class="method trait-impl"><a href="#method.layout_raw" class="anchor">§</a><h4 class="code-header">fn <a class="fn">layout_raw</a>(_: <T as Pointee>::Metadata) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/1.73.0/core/alloc/layout/struct.Layout.html" title="struct core::alloc::layout::Layout">Layout</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/core/alloc/layout/struct.LayoutError.html" title="struct core::alloc::layout::LayoutError">LayoutError</a>></h4></section></summary><div class='docblock'>Gets the layout of the type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Pointee-for-Artifact" class="impl"><a href="#impl-Pointee-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> Pointee for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Metadata" class="associatedtype trait-impl"><a href="#associatedtype.Metadata" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Metadata</a> = <a class="primitive" href="https://doc.rust-lang.org/1.73.0/std/primitive.unit.html">()</a></h4></section></summary><div class='docblock'>The type for metadata in pointers and references to <code>Self</code>.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Artifact" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<span class="where fmt-newline">where
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Artifact" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<span class="where fmt-newline">where
U: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.73.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.73.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.73.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Upcastable-for-Artifact" class="impl"><a class="src rightside" href="../../../src/wasmer_compiler/traits.rs.html#64-77">source</a><a href="#impl-Upcastable-for-Artifact" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="../../traits/trait.Upcastable.html" title="trait wasmer_compiler::traits::Upcastable">Upcastable</a> for T<span class="where fmt-newline">where
T: <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.upcast_any_ref" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/traits.rs.html#66-68">source</a><a href="#method.upcast_any_ref" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.Upcastable.html#tymethod.upcast_any_ref" class="fn">upcast_any_ref</a>(&self) -> &(dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>upcast ref</div></details><details class="toggle method-toggle" open><summary><section id="method.upcast_any_mut" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/traits.rs.html#70-72">source</a><a href="#method.upcast_any_mut" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.Upcastable.html#tymethod.upcast_any_mut" class="fn">upcast_any_mut</a>(&mut self) -> &mut (dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> + 'static)</h4></section></summary><div class='docblock'>upcast mut ref</div></details><details class="toggle method-toggle" open><summary><section id="method.upcast_any_box" class="method trait-impl"><a class="src rightside" href="../../../src/wasmer_compiler/traits.rs.html#74-76">source</a><a href="#method.upcast_any_box" class="anchor">§</a><h4 class="code-header">fn <a href="../../traits/trait.Upcastable.html#tymethod.upcast_any_box" class="fn">upcast_any_box</a>(self: <a class="struct" href="../../lib/std/boxed/struct.Box.html" title="struct wasmer_compiler::lib::std::boxed::Box">Box</a><T, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>>) -> <a class="struct" href="../../lib/std/boxed/struct.Box.html" title="struct wasmer_compiler::lib::std::boxed::Box">Box</a><dyn <a class="trait" href="https://doc.rust-lang.org/1.73.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a>, <a class="struct" href="https://doc.rust-lang.org/1.73.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>></h4></section></summary><div class='docblock'>upcast boxed dyn</div></details></div></details></div></section></div></main></body></html>